]> git.itanic.dy.fi Git - linux-stable/commitdiff
block: Use bdev_open_by_dev() in disk_scan_partitions() and blkdev_bszset()
authorJan Kara <jack@suse.cz>
Wed, 27 Sep 2023 09:34:09 +0000 (11:34 +0200)
committerChristian Brauner <brauner@kernel.org>
Sat, 28 Oct 2023 11:29:16 +0000 (13:29 +0200)
Convert disk_scan_partitions() and blkdev_bszset() to use
bdev_open_by_dev().

Acked-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20230927093442.25915-3-jack@suse.cz
Signed-off-by: Christian Brauner <brauner@kernel.org>
block/genhd.c
block/ioctl.c

index cc32a0c704eb846c2abba312494c7272f4c74520..4a16a424f57d4f77b115e985a4db14d337c8ceba 100644 (file)
@@ -342,7 +342,7 @@ EXPORT_SYMBOL_GPL(disk_uevent);
 
 int disk_scan_partitions(struct gendisk *disk, blk_mode_t mode)
 {
-       struct block_device *bdev;
+       struct bdev_handle *handle;
        int ret = 0;
 
        if (disk->flags & (GENHD_FL_NO_PART | GENHD_FL_HIDDEN))
@@ -366,12 +366,12 @@ int disk_scan_partitions(struct gendisk *disk, blk_mode_t mode)
        }
 
        set_bit(GD_NEED_PART_SCAN, &disk->state);
-       bdev = blkdev_get_by_dev(disk_devt(disk), mode & ~BLK_OPEN_EXCL, NULL,
-                                NULL);
-       if (IS_ERR(bdev))
-               ret =  PTR_ERR(bdev);
+       handle = bdev_open_by_dev(disk_devt(disk), mode & ~BLK_OPEN_EXCL, NULL,
+                                 NULL);
+       if (IS_ERR(handle))
+               ret = PTR_ERR(handle);
        else
-               blkdev_put(bdev, NULL);
+               bdev_release(handle);
 
        /*
         * If blkdev_get_by_dev() failed early, GD_NEED_PART_SCAN is still set,
index d5f5cd61efd7fc738644432d220268f59d5f38ab..5d356c96435204c46c317934ff10b9afe9fadfaf 100644 (file)
@@ -467,6 +467,7 @@ static int blkdev_bszset(struct block_device *bdev, blk_mode_t mode,
                int __user *argp)
 {
        int ret, n;
+       struct bdev_handle *handle;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EACCES;
@@ -478,10 +479,11 @@ static int blkdev_bszset(struct block_device *bdev, blk_mode_t mode,
        if (mode & BLK_OPEN_EXCL)
                return set_blocksize(bdev, n);
 
-       if (IS_ERR(blkdev_get_by_dev(bdev->bd_dev, mode, &bdev, NULL)))
+       handle = bdev_open_by_dev(bdev->bd_dev, mode, &bdev, NULL);
+       if (IS_ERR(handle))
                return -EBUSY;
        ret = set_blocksize(bdev, n);
-       blkdev_put(bdev, &bdev);
+       bdev_release(handle);
 
        return ret;
 }