btrfs: pass struct btrfs_inode to btrfs_sync_inode_flags_to_i_flags()

Pass a struct btrfs_inode to btrfs_sync_inode_flags_to_i_flags() as it's
an internal interface.

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2025-03-03 15:55:26 +01:00
parent 68dc1cb231
commit 4f27a69394
4 changed files with 15 additions and 16 deletions

View file

@ -4039,7 +4039,7 @@ cache_acl:
break; 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); ret = btrfs_add_inode_to_root(inode, true);
if (ret) if (ret)
@ -6262,7 +6262,7 @@ static void btrfs_inherit_iflags(struct btrfs_inode *inode, struct btrfs_inode *
inode->flags |= BTRFS_INODE_NODATASUM; 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, int btrfs_create_new_inode(struct btrfs_trans_handle *trans,

View file

@ -167,25 +167,24 @@ static unsigned int btrfs_inode_flags_to_fsflags(const struct btrfs_inode *binod
/* /*
* Update inode->i_flags based on the btrfs internal flags. * 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; unsigned int new_fl = 0;
if (binode->flags & BTRFS_INODE_SYNC) if (inode->flags & BTRFS_INODE_SYNC)
new_fl |= S_SYNC; new_fl |= S_SYNC;
if (binode->flags & BTRFS_INODE_IMMUTABLE) if (inode->flags & BTRFS_INODE_IMMUTABLE)
new_fl |= S_IMMUTABLE; new_fl |= S_IMMUTABLE;
if (binode->flags & BTRFS_INODE_APPEND) if (inode->flags & BTRFS_INODE_APPEND)
new_fl |= S_APPEND; new_fl |= S_APPEND;
if (binode->flags & BTRFS_INODE_NOATIME) if (inode->flags & BTRFS_INODE_NOATIME)
new_fl |= S_NOATIME; new_fl |= S_NOATIME;
if (binode->flags & BTRFS_INODE_DIRSYNC) if (inode->flags & BTRFS_INODE_DIRSYNC)
new_fl |= S_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; 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_SYNC | S_APPEND | S_IMMUTABLE | S_NOATIME | S_DIRSYNC |
S_VERITY, new_fl); S_VERITY, new_fl);
} }
@ -394,7 +393,7 @@ int btrfs_fileattr_set(struct mnt_idmap *idmap,
update_flags: update_flags:
binode->flags = binode_flags; binode->flags = binode_flags;
btrfs_update_inode_mapping_flags(binode); 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_inc_iversion(inode);
inode_set_ctime_current(inode); inode_set_ctime_current(inode);
ret = btrfs_update_inode(trans, BTRFS_I(inode)); ret = btrfs_update_inode(trans, BTRFS_I(inode));

View file

@ -9,8 +9,8 @@ struct file;
struct dentry; struct dentry;
struct mnt_idmap; struct mnt_idmap;
struct fileattr; struct fileattr;
struct inode;
struct io_uring_cmd; struct io_uring_cmd;
struct btrfs_inode;
struct btrfs_fs_info; struct btrfs_fs_info;
struct btrfs_ioctl_balance_args; struct btrfs_ioctl_balance_args;
@ -20,7 +20,7 @@ int btrfs_fileattr_get(struct dentry *dentry, struct fileattr *fa);
int btrfs_fileattr_set(struct mnt_idmap *idmap, int btrfs_fileattr_set(struct mnt_idmap *idmap,
struct dentry *dentry, struct fileattr *fa); struct dentry *dentry, struct fileattr *fa);
int btrfs_ioctl_get_supported_features(void __user *arg); 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, void btrfs_update_ioctl_balance_args(struct btrfs_fs_info *fs_info,
struct btrfs_ioctl_balance_args *bargs); struct btrfs_ioctl_balance_args *bargs);
int btrfs_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags); int btrfs_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags);

View file

@ -485,7 +485,7 @@ static int rollback_verity(struct btrfs_inode *inode)
goto out; goto out;
} }
inode->ro_flags &= ~BTRFS_INODE_RO_VERITY; 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); ret = btrfs_update_inode(trans, inode);
if (ret) { if (ret) {
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
@ -552,7 +552,7 @@ static int finish_verity(struct btrfs_inode *inode, const void *desc,
goto out; goto out;
} }
inode->ro_flags |= BTRFS_INODE_RO_VERITY; 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); ret = btrfs_update_inode(trans, inode);
if (ret) if (ret)
goto end_trans; goto end_trans;