summaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@fb.com>2018-05-16 14:51:20 -0400
committerJens Axboe <axboe@kernel.dk>2018-05-16 12:54:10 -0600
commit96d97e17828f97b321bd364c818819121f855650 (patch)
treef8259f492b7a5bbf24fa3e8c4138a09a8803f8d3 /drivers/block
parent9e2b19675d1338d2a38e99194756f2db44a081df (diff)
downloadlinux-96d97e17828f97b321bd364c818819121f855650.tar.bz2
nbd: clear_sock on netlink disconnect
This is what the ioctl based nbd disconnect does as well. Without this the device will just sit there and wait for the connection to go away (or IO to occur) before the device gets torn down. Instead clear everything up on our end so the configuration goes away as quickly as possible. Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/nbd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 64278f472efe..06725ce97593 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -1768,6 +1768,7 @@ static int nbd_genl_disconnect(struct sk_buff *skb, struct genl_info *info)
}
mutex_lock(&nbd->config_lock);
nbd_disconnect(nbd);
+ nbd_clear_sock(nbd);
mutex_unlock(&nbd->config_lock);
if (test_and_clear_bit(NBD_HAS_CONFIG_REF,
&nbd->config->runtime_flags))