aboutsummaryrefslogtreecommitdiffstats
path: root/block/partition-generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/partition-generic.c')
-rw-r--r--block/partition-generic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/block/partition-generic.c b/block/partition-generic.c
index 81430b317379..dd936ac1e62b 100644
--- a/block/partition-generic.c
+++ b/block/partition-generic.c
@@ -466,7 +466,9 @@ static int drop_partitions(struct gendisk *disk, struct block_device *bdev)
struct hd_struct *part;
int res;
- if (bdev->bd_part_count || bdev->bd_super)
+ if (!disk_part_scan_enabled(disk))
+ return 0;
+ if (bdev->bd_part_count || bdev->bd_openers > 1)
return -EBUSY;
res = invalidate_partition(disk, 0);
if (res)