OSDN Git Service

nbd: clear_sock on netlink disconnect
authorJosef Bacik <jbacik@fb.com>
Wed, 16 May 2018 18:51:20 +0000 (14:51 -0400)
committerJens Axboe <axboe@kernel.dk>
Wed, 16 May 2018 18:54:10 +0000 (12:54 -0600)
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>
drivers/block/nbd.c

index 64278f4..06725ce 100644 (file)
@@ -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))