From ef551d82d1370c800de867f0ecbf59222e3b85f7 Mon Sep 17 00:00:00 2001 From: Frederic Robra Date: Wed, 4 Sep 2019 12:47:53 +0200 Subject: sort the connection plan, locks the sending while changing connection, discovery now takes place even if mq requests are received --- src/kernel/net-txrx.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src/kernel/net-txrx.c') diff --git a/src/kernel/net-txrx.c b/src/kernel/net-txrx.c index 7226a3e..3d2cc7c 100644 --- a/src/kernel/net-txrx.c +++ b/src/kernel/net-txrx.c @@ -121,7 +121,7 @@ int dnbd3_send_request(struct dnbd3_sock *sock, struct request *req, switch (req_op(req)) { case REQ_OP_READ: - debug_sock(sock, "request operation read"); + debug_sock(sock, "request operation read %p", req); request.cmd = CMD_GET_BLOCK; request.offset = blk_rq_pos(req) << 9; // * 512 request.size = blk_rq_bytes(req); @@ -168,7 +168,6 @@ int dnbd3_send_request(struct dnbd3_sock *sock, struct request *req, if (cmd) { dnbd3_requeue_cmd(cmd); } - sock->panic = true; sock->server->failures++; goto error; } @@ -275,8 +274,6 @@ static int dnbd3_clear_socket(struct dnbd3_sock *sock, dnbd3_reply_t *reply, error_sock(sock, "kmalloc failed"); return -EIO; } - /* hold the tx_lock so no new requests are send */ - mutex_lock(&sock->tx_lock); iov.iov_base = buf; iov.iov_len = RTT_BLOCK_SIZE; while (remaining > 0) { @@ -290,7 +287,6 @@ static int dnbd3_clear_socket(struct dnbd3_sock *sock, dnbd3_reply_t *reply, debug_sock(sock, "cleared socket"); error: - mutex_unlock(&sock->tx_lock); if (buf) { kfree(buf); } -- cgit v1.2.3-55-g7522