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()
357 struct nbd_sock *nsock = config->socks[i]; in sock_shutdown() local
358 mutex_lock(&nsock->tx_lock); in sock_shutdown()
359 nbd_mark_nsock_dead(nbd, nsock, 0); in sock_shutdown()
360 mutex_unlock(&nsock->tx_lock); in sock_shutdown()
409 struct nbd_sock *nsock = in nbd_xmit_timeout() local
411 mutex_lock(&nsock->tx_lock); in nbd_xmit_timeout()
418 if (cmd->cookie == nsock->cookie) in nbd_xmit_timeout()
419 nbd_mark_nsock_dead(nbd, nsock, 1); in nbd_xmit_timeout()
420 mutex_unlock(&nsock->tx_lock); in nbd_xmit_timeout()
519 struct nbd_sock *nsock = config->socks[index]; in nbd_send_cmd() local
529 int sent = nsock->sent, skip = 0; in nbd_send_cmd()
565 cmd->cookie = nsock->cookie; in nbd_send_cmd()
591 nsock->pending = req; in nbd_send_cmd()
592 nsock->sent = sent; in nbd_send_cmd()
633 nsock->pending = req; in nbd_send_cmd()
634 nsock->sent = sent; in nbd_send_cmd()
656 nsock->pending = NULL; in nbd_send_cmd()
657 nsock->sent = 0; in nbd_send_cmd()
780 struct nbd_sock *nsock = config->socks[args->index]; in recv_work() local
782 mutex_lock(&nsock->tx_lock); in recv_work()
783 nbd_mark_nsock_dead(nbd, nsock, 1); in recv_work()
784 mutex_unlock(&nsock->tx_lock); in recv_work()
820 struct nbd_sock *nsock = config->socks[index]; in find_fallback() local
821 int fallback = nsock->fallback_index; in find_fallback()
836 if (nsock->fallback_index < 0 || in find_fallback()
837 nsock->fallback_index >= config->num_connections || in find_fallback()
838 config->socks[nsock->fallback_index]->dead) { in find_fallback()
848 nsock->fallback_index = new_index; in find_fallback()
855 new_index = nsock->fallback_index; in find_fallback()
876 struct nbd_sock *nsock; in nbd_handle_cmd() local
896 nsock = config->socks[index]; in nbd_handle_cmd()
897 mutex_lock(&nsock->tx_lock); in nbd_handle_cmd()
898 if (nsock->dead) { in nbd_handle_cmd()
901 mutex_unlock(&nsock->tx_lock); in nbd_handle_cmd()
927 if (unlikely(nsock->pending && nsock->pending != req)) { in nbd_handle_cmd()
940 nbd_mark_nsock_dead(nbd, nsock, 1); in nbd_handle_cmd()
945 mutex_unlock(&nsock->tx_lock); in nbd_handle_cmd()
1009 struct nbd_sock *nsock; in nbd_add_socket() local
1035 nsock = kzalloc(sizeof(struct nbd_sock), GFP_KERNEL); in nbd_add_socket()
1036 if (!nsock) { in nbd_add_socket()
1043 nsock->fallback_index = -1; in nbd_add_socket()
1044 nsock->dead = false; in nbd_add_socket()
1045 mutex_init(&nsock->tx_lock); in nbd_add_socket()
1046 nsock->sock = sock; in nbd_add_socket()
1047 nsock->pending = NULL; in nbd_add_socket()
1048 nsock->sent = 0; in nbd_add_socket()
1049 nsock->cookie = 0; in nbd_add_socket()
1050 socks[config->num_connections++] = nsock; in nbd_add_socket()
1075 struct nbd_sock *nsock = config->socks[i]; in nbd_reconnect_socket() local
1077 if (!nsock->dead) in nbd_reconnect_socket()
1080 mutex_lock(&nsock->tx_lock); in nbd_reconnect_socket()
1081 if (!nsock->dead) { in nbd_reconnect_socket()
1082 mutex_unlock(&nsock->tx_lock); in nbd_reconnect_socket()
1090 old = nsock->sock; in nbd_reconnect_socket()
1091 nsock->fallback_index = -1; in nbd_reconnect_socket()
1092 nsock->sock = sock; in nbd_reconnect_socket()
1093 nsock->dead = false; in nbd_reconnect_socket()
1097 nsock->cookie++; in nbd_reconnect_socket()
1098 mutex_unlock(&nsock->tx_lock); in nbd_reconnect_socket()
1155 struct nbd_sock *nsock = config->socks[i]; in send_disconnects() local
1158 mutex_lock(&nsock->tx_lock); in send_disconnects()
1163 mutex_unlock(&nsock->tx_lock); in send_disconnects()