diff --git a/block/genhd.c b/block/genhd.c index b6ad3554876faf7ed34c64f708ccf1a990dd748a..3c34dd01158549fa1f72d82bab832d11e2b52c29 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -768,7 +768,7 @@ int disk_scan_partitions(struct gendisk *disk, fmode_t mode) if (IS_ERR(bdev)) ret = PTR_ERR(bdev); else - blkdev_put(bdev, mode); + blkdev_put(bdev, mode & ~FMODE_EXCL); if (!(mode & FMODE_EXCL)) { bd_abort_claiming(claim, claim, disk_scan_partitions);