block/ioctl: port blkdev_bszset() to file
authorChristian Brauner <brauner@kernel.org>
Tue, 23 Jan 2024 13:26:19 +0000 (14:26 +0100)
committerChristian Brauner <brauner@kernel.org>
Sun, 25 Feb 2024 11:05:22 +0000 (12:05 +0100)
Link: https://lore.kernel.org/r/20240123-vfs-bdev-file-v2-2-adbd023e19cc@kernel.org
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
block/ioctl.c

index 9c73a763ef8838953bd1050b505621c39b8d4cdb..5d0619e02e4ca93ca7de55dce0acd10474c462e6 100644 (file)
@@ -471,7 +471,7 @@ static int blkdev_bszset(struct block_device *bdev, blk_mode_t mode,
                int __user *argp)
 {
        int ret, n;
-       struct bdev_handle *handle;
+       struct file *file;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EACCES;
@@ -483,12 +483,11 @@ static int blkdev_bszset(struct block_device *bdev, blk_mode_t mode,
        if (mode & BLK_OPEN_EXCL)
                return set_blocksize(bdev, n);
 
-       handle = bdev_open_by_dev(bdev->bd_dev, mode, &bdev, NULL);
-       if (IS_ERR(handle))
+       file = bdev_file_open_by_dev(bdev->bd_dev, mode, &bdev, NULL);
+       if (IS_ERR(file))
                return -EBUSY;
        ret = set_blocksize(bdev, n);
-       bdev_release(handle);
-
+       fput(file);
        return ret;
 }