btrfs: pass struct to btrfs_ioctl_subvol_getflags()
authorDavid Sterba <dsterba@suse.com>
Mon, 3 Mar 2025 14:55:34 +0000 (15:55 +0100)
committerDavid Sterba <dsterba@suse.com>
Tue, 18 Mar 2025 19:35:49 +0000 (20:35 +0100)
Pass a struct btrfs_inode to btrfs_ioctl_subvol_getflags() as it's an
internal interface, allowing to remove some use of BTRFS_I.

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ioctl.c

index a7aff4769a58267404aaed45ebbb10e3d5bd66a9..188fb7ec32d11747038a1049553b35fb0c8c2f22 100644 (file)
@@ -1337,15 +1337,15 @@ free_args:
        return ret;
 }
 
-static noinline int btrfs_ioctl_subvol_getflags(struct inode *inode,
+static noinline int btrfs_ioctl_subvol_getflags(struct btrfs_inode *inode,
                                                void __user *arg)
 {
-       struct btrfs_fs_info *fs_info = inode_to_fs_info(inode);
-       struct btrfs_root *root = BTRFS_I(inode)->root;
+       struct btrfs_root *root = inode->root;
+       struct btrfs_fs_info *fs_info = root->fs_info;
        int ret = 0;
        u64 flags = 0;
 
-       if (btrfs_ino(BTRFS_I(inode)) != BTRFS_FIRST_FREE_OBJECTID)
+       if (btrfs_ino(inode) != BTRFS_FIRST_FREE_OBJECTID)
                return -EINVAL;
 
        down_read(&fs_info->subvol_sem);
@@ -5243,7 +5243,7 @@ long btrfs_ioctl(struct file *file, unsigned int
        case BTRFS_IOC_SNAP_DESTROY_V2:
                return btrfs_ioctl_snap_destroy(file, argp, true);
        case BTRFS_IOC_SUBVOL_GETFLAGS:
-               return btrfs_ioctl_subvol_getflags(inode, argp);
+               return btrfs_ioctl_subvol_getflags(BTRFS_I(inode), argp);
        case BTRFS_IOC_SUBVOL_SETFLAGS:
                return btrfs_ioctl_subvol_setflags(file, argp);
        case BTRFS_IOC_DEFAULT_SUBVOL: