summaryrefslogtreecommitdiffstats
path: root/src/kernel/net-txrx.c
diff options
context:
space:
mode:
authorSimon Rettberg2020-07-17 18:19:58 +0200
committerSimon Rettberg2020-07-17 18:19:58 +0200
commita231e6283e1c79a33d6f3bdf786832f10e355d0c (patch)
treea5be40fa9fe93230d06de56ccac3c378f80c3833 /src/kernel/net-txrx.c
parent[KERNEL] After nullptr check, MAYBE RETURN!? (diff)
downloaddnbd3-ng-a231e6283e1c79a33d6f3bdf786832f10e355d0c.tar.gz
dnbd3-ng-a231e6283e1c79a33d6f3bdf786832f10e355d0c.tar.xz
dnbd3-ng-a231e6283e1c79a33d6f3bdf786832f10e355d0c.zip
[KERNEL] Trying to get locking under control
Current code doesn't pay much attention to properly locking when accessing structures that are being used in multiple workers/threads. Try to fix this, slowly.
Diffstat (limited to 'src/kernel/net-txrx.c')
-rw-r--r--src/kernel/net-txrx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/kernel/net-txrx.c b/src/kernel/net-txrx.c
index c839561..51c684d 100644
--- a/src/kernel/net-txrx.c
+++ b/src/kernel/net-txrx.c
@@ -345,8 +345,8 @@ int dnbd3_receive_cmd_get_block_mq(struct dnbd3_sock *sock,
error_sock(sock, "unexpected reply (%d) %p", tag, req);
if (req) {
cmd = blk_mq_rq_to_pdu(req);
- mutex_lock(&cmd->lock);
debug_sock(sock, "requeue request");
+ mutex_lock(&cmd->lock);
dnbd3_requeue_cmd(cmd);
mutex_unlock(&cmd->lock);
}