diff options
author | Christoph Hellwig <hch@lst.de> | 2020-04-10 15:31:47 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-04-10 17:34:11 +0300 |
commit | cb6b771b05c3026a85ed4817c1b87c5e6f41d136 (patch) | |
tree | 03e1d21771f992652483dbed00567badce2204a9 /block/partitions/core.c | |
parent | d9a9755a83d706fec22e4364b2f91568dfb8c4ea (diff) | |
download | linux-cb6b771b05c3026a85ed4817c1b87c5e6f41d136.tar.xz |
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/core.c')
-rw-r--r-- | block/partitions/core.c | 2 |
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) |