Lines Matching refs:nsock

267 static void nbd_mark_nsock_dead(struct nbd_device *nbd, struct nbd_sock *nsock,
270 if (!nsock->dead && notify && !nbd_disconnected(nbd->config)) {
279 if (!nsock->dead) {
280 kernel_sock_shutdown(nsock->sock, SHUT_RDWR);
291 nsock->dead = true;
292 nsock->pending = NULL;
293 nsock->sent = 0;
364 struct nbd_sock *nsock = config->socks[i];
365 mutex_lock(&nsock->tx_lock);
366 nbd_mark_nsock_dead(nbd, nsock, 0);
367 mutex_unlock(&nsock->tx_lock);
424 struct nbd_sock *nsock =
426 mutex_lock(&nsock->tx_lock);
428 * we don't want to mark the nsock dead if we've
433 if (cmd->cookie == nsock->cookie)
434 nbd_mark_nsock_dead(nbd, nsock, 1);
435 mutex_unlock(&nsock->tx_lock);
449 struct nbd_sock *nsock = config->socks[cmd->index];
456 mutex_lock(&nsock->tx_lock);
457 if (cmd->cookie != nsock->cookie) {
459 mutex_unlock(&nsock->tx_lock);
464 mutex_unlock(&nsock->tx_lock);
545 struct nbd_sock *nsock = config->socks[index];
555 int sent = nsock->sent, skip = 0;
591 cmd->cookie = nsock->cookie;
617 nsock->pending = req;
618 nsock->sent = sent;
659 nsock->pending = req;
660 nsock->sent = sent;
682 nsock->pending = NULL;
683 nsock->sent = 0;
818 struct nbd_sock *nsock;
852 nsock = config->socks[args->index];
853 mutex_lock(&nsock->tx_lock);
854 nbd_mark_nsock_dead(nbd, nsock, 1);
855 mutex_unlock(&nsock->tx_lock);
895 struct nbd_sock *nsock = config->socks[index];
896 int fallback = nsock->fallback_index;
911 if (nsock->fallback_index < 0 ||
912 nsock->fallback_index >= config->num_connections ||
913 config->socks[nsock->fallback_index]->dead) {
923 nsock->fallback_index = new_index;
930 new_index = nsock->fallback_index;
955 struct nbd_sock *nsock;
973 nsock = config->socks[index];
974 mutex_lock(&nsock->tx_lock);
975 if (nsock->dead) {
978 mutex_unlock(&nsock->tx_lock);
1003 if (unlikely(nsock->pending && nsock->pending != req)) {
1022 nbd_mark_nsock_dead(nbd, nsock, 1);
1027 mutex_unlock(&nsock->tx_lock);
1091 struct nbd_sock *nsock;
1117 nsock = kzalloc(sizeof(*nsock), GFP_KERNEL);
1118 if (!nsock) {
1126 kfree(nsock);
1133 nsock->fallback_index = -1;
1134 nsock->dead = false;
1135 mutex_init(&nsock->tx_lock);
1136 nsock->sock = sock;
1137 nsock->pending = NULL;
1138 nsock->sent = 0;
1139 nsock->cookie = 0;
1140 socks[config->num_connections++] = nsock;
1171 struct nbd_sock *nsock = config->socks[i];
1173 if (!nsock->dead)
1176 mutex_lock(&nsock->tx_lock);
1177 if (!nsock->dead) {
1178 mutex_unlock(&nsock->tx_lock);
1186 old = nsock->sock;
1187 nsock->fallback_index = -1;
1188 nsock->sock = sock;
1189 nsock->dead = false;
1193 nsock->cookie++;
1194 mutex_unlock(&nsock->tx_lock);
1251 struct nbd_sock *nsock = config->socks[i];
1254 mutex_lock(&nsock->tx_lock);
1259 mutex_unlock(&nsock->tx_lock);