btrfs: pass a btrfs_inode to btrfs_readdir_put_delayed_items()
authorDavid Sterba <dsterba@suse.com>
Wed, 15 Jun 2022 13:11:38 +0000 (15:11 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 11 Jul 2024 13:33:28 +0000 (15:33 +0200)
Pass a struct btrfs_inode to btrfs_readdir_put_delayed_items() as it's
an internal interface, allowing to remove some use of BTRFS_I.

Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/delayed-inode.c
fs/btrfs/delayed-inode.h
fs/btrfs/inode.c

index 7b8b1bd..3a1b6e1 100644 (file)
@@ -1730,7 +1730,7 @@ bool btrfs_readdir_get_delayed_items(struct inode *inode,
        return true;
 }
 
-void btrfs_readdir_put_delayed_items(struct inode *inode,
+void btrfs_readdir_put_delayed_items(struct btrfs_inode *inode,
                                     struct list_head *ins_list,
                                     struct list_head *del_list)
 {
@@ -1752,7 +1752,7 @@ void btrfs_readdir_put_delayed_items(struct inode *inode,
         * The VFS is going to do up_read(), so we need to downgrade back to a
         * read lock.
         */
-       downgrade_write(&inode->i_rwsem);
+       downgrade_write(&inode->vfs_inode.i_rwsem);
 }
 
 int btrfs_should_delete_dir_index(const struct list_head *del_list,
index 654c04d..e30ba79 100644 (file)
@@ -147,7 +147,7 @@ bool btrfs_readdir_get_delayed_items(struct inode *inode,
                                     u64 last_index,
                                     struct list_head *ins_list,
                                     struct list_head *del_list);
-void btrfs_readdir_put_delayed_items(struct inode *inode,
+void btrfs_readdir_put_delayed_items(struct btrfs_inode *inode,
                                     struct list_head *ins_list,
                                     struct list_head *del_list);
 int btrfs_should_delete_dir_index(const struct list_head *del_list,
index 89f8321..85e29f6 100644 (file)
@@ -6037,7 +6037,7 @@ nopos:
        ret = 0;
 err:
        if (put)
-               btrfs_readdir_put_delayed_items(inode, &ins_list, &del_list);
+               btrfs_readdir_put_delayed_items(BTRFS_I(inode), &ins_list, &del_list);
        btrfs_free_path(path);
        return ret;
 }