summaryrefslogtreecommitdiffstats
path: root/block/partitions
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2020-04-10 14:31:47 +0200
committerJens Axboe <axboe@kernel.dk>2020-04-10 16:34:11 +0200
commitcb6b771b05c3026a85ed4817c1b87c5e6f41d136 (patch)
tree03e1d21771f992652483dbed00567badce2204a9 /block/partitions
parentMerge branch 'nvme-5.7' of git://git.infradead.org/nvme into block-5.7 (diff)
downloadlinux-cb6b771b05c3026a85ed4817c1b87c5e6f41d136.tar.xz
linux-cb6b771b05c3026a85ed4817c1b87c5e6f41d136.zip
block: fix busy device checking in blk_drop_partitions again
The previous fix had an off by one in the bd_openers checking, counting the callers blkdev_get. Fixes: d3ef5536274f ("block: fix busy device checking in blk_drop_partitions") Reported-by: Qian Cai <cai@lca.pw> Signed-off-by: Christoph Hellwig <hch@lst.de> Tested-by: Qian Cai <cai@lca.pw> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/partitions')
-rw-r--r--block/partitions/core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/partitions/core.c b/block/partitions/core.c
index 1a0a829d8416..bc1ded1331b1 100644
--- a/block/partitions/core.c
+++ b/block/partitions/core.c
@@ -496,7 +496,7 @@ int blk_drop_partitions(struct gendisk *disk, struct block_device *bdev)
if (!disk_part_scan_enabled(disk))
return 0;
- if (bdev->bd_part_count || bdev->bd_openers)
+ if (bdev->bd_part_count || bdev->bd_openers > 1)
return -EBUSY;
res = invalidate_partition(disk, 0);
if (res)