summaryrefslogtreecommitdiffstats
path: root/src/kernel/net-txrx.c
diff options
context:
space:
mode:
authorFrederic Robra2019-11-08 13:49:47 +0100
committerFrederic Robra2019-11-08 13:49:47 +0100
commitb57dadc2dd577fb8ce21975722cdfa2f010cd718 (patch)
treef96137339a2a8cf39def653cb205f06ca312c647 /src/kernel/net-txrx.c
parentif connection is lost while connected modul now waits for new connection (diff)
downloaddnbd3-ng-b57dadc2dd577fb8ce21975722cdfa2f010cd718.tar.gz
dnbd3-ng-b57dadc2dd577fb8ce21975722cdfa2f010cd718.tar.xz
dnbd3-ng-b57dadc2dd577fb8ce21975722cdfa2f010cd718.zip
added timeout and small bug when reqeuing in send
Diffstat (limited to 'src/kernel/net-txrx.c')
-rw-r--r--src/kernel/net-txrx.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/kernel/net-txrx.c b/src/kernel/net-txrx.c
index 87a9169..27b07ea 100644
--- a/src/kernel/net-txrx.c
+++ b/src/kernel/net-txrx.c
@@ -165,14 +165,20 @@ int dnbd3_send_request(struct dnbd3_sock *sock, struct request *req,
lng = iov_num == 1 ? iov[0].iov_len : iov[0].iov_len + iov[1].iov_len;
if (unlikely(!sock->sock)) {
warn_sock(sock, "socket was shutdown while sending");
+ result = -EIO;
goto error;
}
result = kernel_sendmsg(sock->sock, &msg, iov, iov_num, lng);
if (result != lng) {
error_sock(sock, "connection to server lost");
- if (cmd) {
- dnbd3_requeue_cmd(cmd);
- }
+ /*
+ * this triggers:
+ * kernel BUG at block/blk-mq.c:704!
+ * command will be reqeued by timeout
+ */
+// if (cmd) {
+// dnbd3_requeue_cmd(cmd);
+// }
sock->server->failures++;
goto error;
}