diff options
author | Christoph Hellwig <hch@lst.de> | 2019-11-14 15:34:35 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-11-14 07:43:53 -0700 |
commit | 142fe8f4bb169e8632024d51c64653a8bf140561 (patch) | |
tree | 8869801776302654d3442fd763bcde51afc74a32 /block/ioctl.c | |
parent | a1548b674403c0de70cc29a1575689917ba60157 (diff) | |
download | talos-op-linux-142fe8f4bb169e8632024d51c64653a8bf140561.tar.gz talos-op-linux-142fe8f4bb169e8632024d51c64653a8bf140561.zip |
block: fix bdev_disk_changed for non-partitioned devices
We still have to set the capacity to 0 if invalidating or call
revalidate_disk if not even if the disk has no partitions. Fix
that by merging rescan_partitions into bdev_disk_changed and just
stubbing out blk_add_partitions and blk_drop_partitions for
non-partitioned devices.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/ioctl.c')
-rw-r--r-- | block/ioctl.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/block/ioctl.c b/block/ioctl.c index f6576a6d5778..5ccd9f016594 100644 --- a/block/ioctl.c +++ b/block/ioctl.c @@ -162,16 +162,14 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user */ int __blkdev_reread_part(struct block_device *bdev) { - struct gendisk *disk = bdev->bd_disk; - - if (!disk_part_scan_enabled(disk) || bdev != bdev->bd_contains) + if (!disk_part_scan_enabled(bdev->bd_disk) || bdev != bdev->bd_contains) return -EINVAL; if (!capable(CAP_SYS_ADMIN)) return -EACCES; lockdep_assert_held(&bdev->bd_mutex); - return rescan_partitions(disk, bdev, false); + return bdev_disk_changed(bdev, false); } EXPORT_SYMBOL(__blkdev_reread_part); |