btrfs: make find_desired_extent take btrfs_inode
authorNikolay Borisov <nborisov@suse.com>
Wed, 17 Feb 2021 13:12:48 +0000 (15:12 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Apr 2021 15:25:14 +0000 (17:25 +0200)
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/file.c

index 4ffe0e1..d0cb513 100644 (file)
@@ -3495,13 +3495,13 @@ out:
        return ret;
 }
 
-static loff_t find_desired_extent(struct inode *inode, loff_t offset,
+static loff_t find_desired_extent(struct btrfs_inode *inode, loff_t offset,
                                  int whence)
 {
-       struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
+       struct btrfs_fs_info *fs_info = inode->root->fs_info;
        struct extent_map *em = NULL;
        struct extent_state *cached_state = NULL;
-       loff_t i_size = inode->i_size;
+       loff_t i_size = inode->vfs_inode.i_size;
        u64 lockstart;
        u64 lockend;
        u64 start;
@@ -3524,11 +3524,10 @@ static loff_t find_desired_extent(struct inode *inode, loff_t offset,
        lockend--;
        len = lockend - lockstart + 1;
 
-       lock_extent_bits(&BTRFS_I(inode)->io_tree, lockstart, lockend,
-                        &cached_state);
+       lock_extent_bits(&inode->io_tree, lockstart, lockend, &cached_state);
 
        while (start < i_size) {
-               em = btrfs_get_extent_fiemap(BTRFS_I(inode), start, len);
+               em = btrfs_get_extent_fiemap(inode, start, len);
                if (IS_ERR(em)) {
                        ret = PTR_ERR(em);
                        em = NULL;
@@ -3550,7 +3549,7 @@ static loff_t find_desired_extent(struct inode *inode, loff_t offset,
                cond_resched();
        }
        free_extent_map(em);
-       unlock_extent_cached(&BTRFS_I(inode)->io_tree, lockstart, lockend,
+       unlock_extent_cached(&inode->io_tree, lockstart, lockend,
                             &cached_state);
        if (ret) {
                offset = ret;
@@ -3574,7 +3573,7 @@ static loff_t btrfs_file_llseek(struct file *file, loff_t offset, int whence)
        case SEEK_DATA:
        case SEEK_HOLE:
                btrfs_inode_lock(inode, BTRFS_ILOCK_SHARED);
-               offset = find_desired_extent(inode, offset, whence);
+               offset = find_desired_extent(BTRFS_I(inode), offset, whence);
                btrfs_inode_unlock(inode, BTRFS_ILOCK_SHARED);
                break;
        }