break;
        }
 
-       btrfs_sync_inode_flags_to_i_flags(vfs_inode);
+       btrfs_sync_inode_flags_to_i_flags(inode);
 
        ret = btrfs_add_inode_to_root(inode, true);
        if (ret)
                        inode->flags |= BTRFS_INODE_NODATASUM;
        }
 
-       btrfs_sync_inode_flags_to_i_flags(&inode->vfs_inode);
+       btrfs_sync_inode_flags_to_i_flags(inode);
 }
 
 int btrfs_create_new_inode(struct btrfs_trans_handle *trans,
 
 /*
  * Update inode->i_flags based on the btrfs internal flags.
  */
-void btrfs_sync_inode_flags_to_i_flags(struct inode *inode)
+void btrfs_sync_inode_flags_to_i_flags(struct btrfs_inode *inode)
 {
-       struct btrfs_inode *binode = BTRFS_I(inode);
        unsigned int new_fl = 0;
 
-       if (binode->flags & BTRFS_INODE_SYNC)
+       if (inode->flags & BTRFS_INODE_SYNC)
                new_fl |= S_SYNC;
-       if (binode->flags & BTRFS_INODE_IMMUTABLE)
+       if (inode->flags & BTRFS_INODE_IMMUTABLE)
                new_fl |= S_IMMUTABLE;
-       if (binode->flags & BTRFS_INODE_APPEND)
+       if (inode->flags & BTRFS_INODE_APPEND)
                new_fl |= S_APPEND;
-       if (binode->flags & BTRFS_INODE_NOATIME)
+       if (inode->flags & BTRFS_INODE_NOATIME)
                new_fl |= S_NOATIME;
-       if (binode->flags & BTRFS_INODE_DIRSYNC)
+       if (inode->flags & BTRFS_INODE_DIRSYNC)
                new_fl |= S_DIRSYNC;
-       if (binode->ro_flags & BTRFS_INODE_RO_VERITY)
+       if (inode->ro_flags & BTRFS_INODE_RO_VERITY)
                new_fl |= S_VERITY;
 
-       set_mask_bits(&inode->i_flags,
+       set_mask_bits(&inode->vfs_inode.i_flags,
                      S_SYNC | S_APPEND | S_IMMUTABLE | S_NOATIME | S_DIRSYNC |
                      S_VERITY, new_fl);
 }
 update_flags:
        binode->flags = binode_flags;
        btrfs_update_inode_mapping_flags(binode);
-       btrfs_sync_inode_flags_to_i_flags(inode);
+       btrfs_sync_inode_flags_to_i_flags(binode);
        inode_inc_iversion(inode);
        inode_set_ctime_current(inode);
        ret = btrfs_update_inode(trans, BTRFS_I(inode));
 
 struct dentry;
 struct mnt_idmap;
 struct fileattr;
-struct inode;
 struct io_uring_cmd;
+struct btrfs_inode;
 struct btrfs_fs_info;
 struct btrfs_ioctl_balance_args;
 
 int btrfs_fileattr_set(struct mnt_idmap *idmap,
                       struct dentry *dentry, struct fileattr *fa);
 int btrfs_ioctl_get_supported_features(void __user *arg);
-void btrfs_sync_inode_flags_to_i_flags(struct inode *inode);
+void btrfs_sync_inode_flags_to_i_flags(struct btrfs_inode *inode);
 void btrfs_update_ioctl_balance_args(struct btrfs_fs_info *fs_info,
                                     struct btrfs_ioctl_balance_args *bargs);
 int btrfs_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags);
 
                goto out;
        }
        inode->ro_flags &= ~BTRFS_INODE_RO_VERITY;
-       btrfs_sync_inode_flags_to_i_flags(&inode->vfs_inode);
+       btrfs_sync_inode_flags_to_i_flags(inode);
        ret = btrfs_update_inode(trans, inode);
        if (ret) {
                btrfs_abort_transaction(trans, ret);
                goto out;
        }
        inode->ro_flags |= BTRFS_INODE_RO_VERITY;
-       btrfs_sync_inode_flags_to_i_flags(&inode->vfs_inode);
+       btrfs_sync_inode_flags_to_i_flags(inode);
        ret = btrfs_update_inode(trans, inode);
        if (ret)
                goto end_trans;