Lines Matching refs:nsock

290 static void nbd_mark_nsock_dead(struct nbd_device *nbd, struct nbd_sock *nsock,  in nbd_mark_nsock_dead()  argument
293 if (!nsock->dead && notify && !nbd_disconnected(nbd->config)) { in nbd_mark_nsock_dead()
302 if (!nsock->dead) { in nbd_mark_nsock_dead()
303 kernel_sock_shutdown(nsock->sock, SHUT_RDWR); in nbd_mark_nsock_dead()
314 nsock->dead = true; in nbd_mark_nsock_dead()
315 nsock->pending = NULL; in nbd_mark_nsock_dead()
316 nsock->sent = 0; in nbd_mark_nsock_dead()
375 struct nbd_sock *nsock = config->socks[i]; in sock_shutdown() local
376 mutex_lock(&nsock->tx_lock); in sock_shutdown()
377 nbd_mark_nsock_dead(nbd, nsock, 0); in sock_shutdown()
378 mutex_unlock(&nsock->tx_lock); in sock_shutdown()
435 struct nbd_sock *nsock = in nbd_xmit_timeout() local
437 mutex_lock(&nsock->tx_lock); in nbd_xmit_timeout()
444 if (cmd->cookie == nsock->cookie) in nbd_xmit_timeout()
445 nbd_mark_nsock_dead(nbd, nsock, 1); in nbd_xmit_timeout()
446 mutex_unlock(&nsock->tx_lock); in nbd_xmit_timeout()
460 struct nbd_sock *nsock = config->socks[cmd->index]; in nbd_xmit_timeout() local
467 mutex_lock(&nsock->tx_lock); in nbd_xmit_timeout()
468 if (cmd->cookie != nsock->cookie) { in nbd_xmit_timeout()
470 mutex_unlock(&nsock->tx_lock); in nbd_xmit_timeout()
475 mutex_unlock(&nsock->tx_lock); in nbd_xmit_timeout()
558 struct nbd_sock *nsock = config->socks[index]; in nbd_send_cmd() local
568 int sent = nsock->sent, skip = 0; in nbd_send_cmd()
604 cmd->cookie = nsock->cookie; in nbd_send_cmd()
630 nsock->pending = req; in nbd_send_cmd()
631 nsock->sent = sent; in nbd_send_cmd()
672 nsock->pending = req; in nbd_send_cmd()
673 nsock->sent = sent; in nbd_send_cmd()
695 nsock->pending = NULL; in nbd_send_cmd()
696 nsock->sent = 0; in nbd_send_cmd()
833 struct nbd_sock *nsock; in recv_work() local
875 nsock = config->socks[args->index]; in recv_work()
876 mutex_lock(&nsock->tx_lock); in recv_work()
877 nbd_mark_nsock_dead(nbd, nsock, 1); in recv_work()
878 mutex_unlock(&nsock->tx_lock); in recv_work()
918 struct nbd_sock *nsock = config->socks[index]; in find_fallback() local
919 int fallback = nsock->fallback_index; in find_fallback()
934 if (nsock->fallback_index < 0 || in find_fallback()
935 nsock->fallback_index >= config->num_connections || in find_fallback()
936 config->socks[nsock->fallback_index]->dead) { in find_fallback()
946 nsock->fallback_index = new_index; in find_fallback()
953 new_index = nsock->fallback_index; in find_fallback()
978 struct nbd_sock *nsock; in nbd_handle_cmd() local
996 nsock = config->socks[index]; in nbd_handle_cmd()
997 mutex_lock(&nsock->tx_lock); in nbd_handle_cmd()
998 if (nsock->dead) { in nbd_handle_cmd()
1001 mutex_unlock(&nsock->tx_lock); in nbd_handle_cmd()
1026 if (unlikely(nsock->pending && nsock->pending != req)) { in nbd_handle_cmd()
1045 nbd_mark_nsock_dead(nbd, nsock, 1); in nbd_handle_cmd()
1050 mutex_unlock(&nsock->tx_lock); in nbd_handle_cmd()
1114 struct nbd_sock *nsock; in nbd_add_socket() local
1143 nsock = kzalloc(sizeof(*nsock), GFP_KERNEL); in nbd_add_socket()
1144 if (!nsock) { in nbd_add_socket()
1152 kfree(nsock); in nbd_add_socket()
1159 nsock->fallback_index = -1; in nbd_add_socket()
1160 nsock->dead = false; in nbd_add_socket()
1161 mutex_init(&nsock->tx_lock); in nbd_add_socket()
1162 nsock->sock = sock; in nbd_add_socket()
1163 nsock->pending = NULL; in nbd_add_socket()
1164 nsock->sent = 0; in nbd_add_socket()
1165 nsock->cookie = 0; in nbd_add_socket()
1166 socks[config->num_connections++] = nsock; in nbd_add_socket()
1197 struct nbd_sock *nsock = config->socks[i]; in nbd_reconnect_socket() local
1199 if (!nsock->dead) in nbd_reconnect_socket()
1202 mutex_lock(&nsock->tx_lock); in nbd_reconnect_socket()
1203 if (!nsock->dead) { in nbd_reconnect_socket()
1204 mutex_unlock(&nsock->tx_lock); in nbd_reconnect_socket()
1212 old = nsock->sock; in nbd_reconnect_socket()
1213 nsock->fallback_index = -1; in nbd_reconnect_socket()
1214 nsock->sock = sock; in nbd_reconnect_socket()
1215 nsock->dead = false; in nbd_reconnect_socket()
1219 nsock->cookie++; in nbd_reconnect_socket()
1220 mutex_unlock(&nsock->tx_lock); in nbd_reconnect_socket()
1275 struct nbd_sock *nsock = config->socks[i]; in send_disconnects() local
1278 mutex_lock(&nsock->tx_lock); in send_disconnects()
1283 mutex_unlock(&nsock->tx_lock); in send_disconnects()