Lines Matching refs:nsock

262 static void nbd_mark_nsock_dead(struct nbd_device *nbd, struct nbd_sock *nsock,  in nbd_mark_nsock_dead()  argument
265 if (!nsock->dead && notify && !nbd_disconnected(nbd->config)) { in nbd_mark_nsock_dead()
274 if (!nsock->dead) { in nbd_mark_nsock_dead()
275 kernel_sock_shutdown(nsock->sock, SHUT_RDWR); in nbd_mark_nsock_dead()
286 nsock->dead = true; in nbd_mark_nsock_dead()
287 nsock->pending = NULL; in nbd_mark_nsock_dead()
288 nsock->sent = 0; in nbd_mark_nsock_dead()
359 struct nbd_sock *nsock = config->socks[i]; in sock_shutdown() local
360 mutex_lock(&nsock->tx_lock); in sock_shutdown()
361 nbd_mark_nsock_dead(nbd, nsock, 0); in sock_shutdown()
362 mutex_unlock(&nsock->tx_lock); in sock_shutdown()
414 struct nbd_sock *nsock = in nbd_xmit_timeout() local
416 mutex_lock(&nsock->tx_lock); in nbd_xmit_timeout()
423 if (cmd->cookie == nsock->cookie) in nbd_xmit_timeout()
424 nbd_mark_nsock_dead(nbd, nsock, 1); in nbd_xmit_timeout()
425 mutex_unlock(&nsock->tx_lock); in nbd_xmit_timeout()
439 struct nbd_sock *nsock = config->socks[cmd->index]; in nbd_xmit_timeout() local
446 mutex_lock(&nsock->tx_lock); in nbd_xmit_timeout()
447 if (cmd->cookie != nsock->cookie) { in nbd_xmit_timeout()
449 mutex_unlock(&nsock->tx_lock); in nbd_xmit_timeout()
454 mutex_unlock(&nsock->tx_lock); in nbd_xmit_timeout()
534 struct nbd_sock *nsock = config->socks[index]; in nbd_send_cmd() local
544 int sent = nsock->sent, skip = 0; in nbd_send_cmd()
580 cmd->cookie = nsock->cookie; in nbd_send_cmd()
606 nsock->pending = req; in nbd_send_cmd()
607 nsock->sent = sent; in nbd_send_cmd()
648 nsock->pending = req; in nbd_send_cmd()
649 nsock->sent = sent; in nbd_send_cmd()
671 nsock->pending = NULL; in nbd_send_cmd()
672 nsock->sent = 0; in nbd_send_cmd()
794 struct nbd_sock *nsock = config->socks[args->index]; in recv_work() local
796 mutex_lock(&nsock->tx_lock); in recv_work()
797 nbd_mark_nsock_dead(nbd, nsock, 1); in recv_work()
798 mutex_unlock(&nsock->tx_lock); in recv_work()
836 struct nbd_sock *nsock = config->socks[index]; in find_fallback() local
837 int fallback = nsock->fallback_index; in find_fallback()
852 if (nsock->fallback_index < 0 || in find_fallback()
853 nsock->fallback_index >= config->num_connections || in find_fallback()
854 config->socks[nsock->fallback_index]->dead) { in find_fallback()
864 nsock->fallback_index = new_index; in find_fallback()
871 new_index = nsock->fallback_index; in find_fallback()
892 struct nbd_sock *nsock; in nbd_handle_cmd() local
912 nsock = config->socks[index]; in nbd_handle_cmd()
913 mutex_lock(&nsock->tx_lock); in nbd_handle_cmd()
914 if (nsock->dead) { in nbd_handle_cmd()
917 mutex_unlock(&nsock->tx_lock); in nbd_handle_cmd()
943 if (unlikely(nsock->pending && nsock->pending != req)) { in nbd_handle_cmd()
956 nbd_mark_nsock_dead(nbd, nsock, 1); in nbd_handle_cmd()
961 mutex_unlock(&nsock->tx_lock); in nbd_handle_cmd()
1025 struct nbd_sock *nsock; in nbd_add_socket() local
1045 nsock = kzalloc(sizeof(*nsock), GFP_KERNEL); in nbd_add_socket()
1046 if (!nsock) { in nbd_add_socket()
1054 kfree(nsock); in nbd_add_socket()
1061 nsock->fallback_index = -1; in nbd_add_socket()
1062 nsock->dead = false; in nbd_add_socket()
1063 mutex_init(&nsock->tx_lock); in nbd_add_socket()
1064 nsock->sock = sock; in nbd_add_socket()
1065 nsock->pending = NULL; in nbd_add_socket()
1066 nsock->sent = 0; in nbd_add_socket()
1067 nsock->cookie = 0; in nbd_add_socket()
1068 socks[config->num_connections++] = nsock; in nbd_add_socket()
1097 struct nbd_sock *nsock = config->socks[i]; in nbd_reconnect_socket() local
1099 if (!nsock->dead) in nbd_reconnect_socket()
1102 mutex_lock(&nsock->tx_lock); in nbd_reconnect_socket()
1103 if (!nsock->dead) { in nbd_reconnect_socket()
1104 mutex_unlock(&nsock->tx_lock); in nbd_reconnect_socket()
1112 old = nsock->sock; in nbd_reconnect_socket()
1113 nsock->fallback_index = -1; in nbd_reconnect_socket()
1114 nsock->sock = sock; in nbd_reconnect_socket()
1115 nsock->dead = false; in nbd_reconnect_socket()
1119 nsock->cookie++; in nbd_reconnect_socket()
1120 mutex_unlock(&nsock->tx_lock); in nbd_reconnect_socket()
1177 struct nbd_sock *nsock = config->socks[i]; in send_disconnects() local
1180 mutex_lock(&nsock->tx_lock); in send_disconnects()
1185 mutex_unlock(&nsock->tx_lock); in send_disconnects()