mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2026-01-27 12:47:24 +01:00
btrfs: tree-log: don't use token set/get accessors in fill_inode_item()
The token versions of set/get accessors will be removed, use the normal helpers. There's additional overhead of the token helpers that update the cached address in case it moves to another page/folio. The normal versions don't need to do that. Note this is similar to fill_inode_item() in inode.c but with slight differences. The two functions could be deduplicated eventually. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
e3df5141a4
commit
c418a15045
|
|
@ -4204,44 +4204,34 @@ static void fill_inode_item(struct btrfs_trans_handle *trans,
|
|||
struct inode *inode, int log_inode_only,
|
||||
u64 logged_isize)
|
||||
{
|
||||
struct btrfs_map_token token;
|
||||
u64 flags;
|
||||
|
||||
btrfs_init_map_token(&token, leaf);
|
||||
|
||||
if (log_inode_only) {
|
||||
/* set the generation to zero so the recover code
|
||||
* can tell the difference between an logging
|
||||
* just to say 'this inode exists' and a logging
|
||||
* to say 'update this inode with these values'
|
||||
*/
|
||||
btrfs_set_token_inode_generation(&token, item, 0);
|
||||
btrfs_set_token_inode_size(&token, item, logged_isize);
|
||||
btrfs_set_inode_generation(leaf, item, 0);
|
||||
btrfs_set_inode_size(leaf, item, logged_isize);
|
||||
} else {
|
||||
btrfs_set_token_inode_generation(&token, item,
|
||||
BTRFS_I(inode)->generation);
|
||||
btrfs_set_token_inode_size(&token, item, inode->i_size);
|
||||
btrfs_set_inode_generation(leaf, item, BTRFS_I(inode)->generation);
|
||||
btrfs_set_inode_size(leaf, item, inode->i_size);
|
||||
}
|
||||
|
||||
btrfs_set_token_inode_uid(&token, item, i_uid_read(inode));
|
||||
btrfs_set_token_inode_gid(&token, item, i_gid_read(inode));
|
||||
btrfs_set_token_inode_mode(&token, item, inode->i_mode);
|
||||
btrfs_set_token_inode_nlink(&token, item, inode->i_nlink);
|
||||
btrfs_set_inode_uid(leaf, item, i_uid_read(inode));
|
||||
btrfs_set_inode_gid(leaf, item, i_gid_read(inode));
|
||||
btrfs_set_inode_mode(leaf, item, inode->i_mode);
|
||||
btrfs_set_inode_nlink(leaf, item, inode->i_nlink);
|
||||
|
||||
btrfs_set_token_timespec_sec(&token, &item->atime,
|
||||
inode_get_atime_sec(inode));
|
||||
btrfs_set_token_timespec_nsec(&token, &item->atime,
|
||||
inode_get_atime_nsec(inode));
|
||||
btrfs_set_timespec_sec(leaf, &item->atime, inode_get_atime_sec(inode));
|
||||
btrfs_set_timespec_nsec(leaf, &item->atime, inode_get_atime_nsec(inode));
|
||||
|
||||
btrfs_set_token_timespec_sec(&token, &item->mtime,
|
||||
inode_get_mtime_sec(inode));
|
||||
btrfs_set_token_timespec_nsec(&token, &item->mtime,
|
||||
inode_get_mtime_nsec(inode));
|
||||
btrfs_set_timespec_sec(leaf, &item->mtime, inode_get_mtime_sec(inode));
|
||||
btrfs_set_timespec_nsec(leaf, &item->mtime, inode_get_mtime_nsec(inode));
|
||||
|
||||
btrfs_set_token_timespec_sec(&token, &item->ctime,
|
||||
inode_get_ctime_sec(inode));
|
||||
btrfs_set_token_timespec_nsec(&token, &item->ctime,
|
||||
inode_get_ctime_nsec(inode));
|
||||
btrfs_set_timespec_sec(leaf, &item->ctime, inode_get_ctime_sec(inode));
|
||||
btrfs_set_timespec_nsec(leaf, &item->ctime, inode_get_ctime_nsec(inode));
|
||||
|
||||
/*
|
||||
* We do not need to set the nbytes field, in fact during a fast fsync
|
||||
|
|
@ -4252,13 +4242,13 @@ static void fill_inode_item(struct btrfs_trans_handle *trans,
|
|||
* inode item in subvolume tree as needed (see overwrite_item()).
|
||||
*/
|
||||
|
||||
btrfs_set_token_inode_sequence(&token, item, inode_peek_iversion(inode));
|
||||
btrfs_set_token_inode_transid(&token, item, trans->transid);
|
||||
btrfs_set_token_inode_rdev(&token, item, inode->i_rdev);
|
||||
btrfs_set_inode_sequence(leaf, item, inode_peek_iversion(inode));
|
||||
btrfs_set_inode_transid(leaf, item, trans->transid);
|
||||
btrfs_set_inode_rdev(leaf, item, inode->i_rdev);
|
||||
flags = btrfs_inode_combine_flags(BTRFS_I(inode)->flags,
|
||||
BTRFS_I(inode)->ro_flags);
|
||||
btrfs_set_token_inode_flags(&token, item, flags);
|
||||
btrfs_set_token_inode_block_group(&token, item, 0);
|
||||
btrfs_set_inode_flags(leaf, item, flags);
|
||||
btrfs_set_inode_block_group(leaf, item, 0);
|
||||
}
|
||||
|
||||
static int log_inode_item(struct btrfs_trans_handle *trans,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user