Revert "lightnvm: prevent bd removal if busy"
authorJens Axboe <axboe@kernel.dk>
Fri, 13 Oct 2017 15:36:06 +0000 (09:36 -0600)
committerJens Axboe <axboe@kernel.dk>
Fri, 13 Oct 2017 15:36:06 +0000 (09:36 -0600)
Christoph correctly points out that this issue is no different
for other block devices, and poking at cross layer internals
is not the right way to solve it.

This reverts commit bb6aa6f08268bbce4e0185b18cab9e04505d6695.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/lightnvm/core.c

index fe21f4dd33e91ffc3da05db3cbb67b651bc51e84..83249b43dd0698a022db78af4400ba4a60c74e84 100644 (file)
@@ -390,7 +390,6 @@ static void __nvm_remove_target(struct nvm_target *t)
 static int nvm_remove_tgt(struct nvm_dev *dev, struct nvm_ioctl_remove *remove)
 {
        struct nvm_target *t;
-       struct block_device *bdev;
 
        mutex_lock(&dev->mlock);
        t = nvm_find_target(dev, remove->tgtname);
@@ -398,19 +397,6 @@ static int nvm_remove_tgt(struct nvm_dev *dev, struct nvm_ioctl_remove *remove)
                mutex_unlock(&dev->mlock);
                return 1;
        }
-       bdev = bdget_disk(t->disk, 0);
-       if (!bdev) {
-               pr_err("nvm: removal failed, allocating bd failed\n");
-               mutex_unlock(&dev->mlock);
-               return -ENOMEM;
-       }
-       if (bdev->bd_super || bdev->bd_part_count) {
-               pr_err("nvm: removal failed, block device busy\n");
-               bdput(bdev);
-               mutex_unlock(&dev->mlock);
-               return -EBUSY;
-       }
-       bdput(bdev);
        __nvm_remove_target(t);
        mutex_unlock(&dev->mlock);