mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
btrfs: reduce arguments to btrfs_del_inode_ref_in_log()
Instead of passing a root and the objectid of the parent directory, just pass the directory inode, as like that we can extract both the root and the objectid, reducing the number of arguments by one. It also makes the function more consistent with other log tree functions in the sense that we pass the inode and not only its objectid. Reviewed-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
committed by
David Sterba
parent
1361f7d8da
commit
139e3167d8
@@ -4362,7 +4362,7 @@ skip_backref:
|
||||
* operations on the log tree, increasing latency for applications.
|
||||
*/
|
||||
if (!rename_ctx) {
|
||||
btrfs_del_inode_ref_in_log(trans, root, name, inode, dir_ino);
|
||||
btrfs_del_inode_ref_in_log(trans, name, inode, dir);
|
||||
btrfs_del_dir_entries_in_log(trans, name, dir, index);
|
||||
}
|
||||
|
||||
|
||||
@@ -3938,11 +3938,11 @@ void btrfs_del_dir_entries_in_log(struct btrfs_trans_handle *trans,
|
||||
|
||||
/* see comments for btrfs_del_dir_entries_in_log */
|
||||
void btrfs_del_inode_ref_in_log(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root,
|
||||
const struct fscrypt_str *name,
|
||||
struct btrfs_inode *inode, u64 dirid)
|
||||
struct btrfs_inode *inode,
|
||||
struct btrfs_inode *dir)
|
||||
{
|
||||
struct btrfs_root *log;
|
||||
struct btrfs_root *root = dir->root;
|
||||
int ret;
|
||||
|
||||
ret = inode_logged(trans, inode, NULL);
|
||||
@@ -3957,10 +3957,10 @@ void btrfs_del_inode_ref_in_log(struct btrfs_trans_handle *trans,
|
||||
ASSERT(ret == 0, "join_running_log_trans() ret=%d", ret);
|
||||
if (WARN_ON(ret))
|
||||
return;
|
||||
log = root->log_root;
|
||||
mutex_lock(&inode->log_mutex);
|
||||
|
||||
ret = btrfs_del_inode_ref(trans, log, name, btrfs_ino(inode), dirid, NULL);
|
||||
ret = btrfs_del_inode_ref(trans, root->log_root, name, btrfs_ino(inode),
|
||||
btrfs_ino(dir), NULL);
|
||||
mutex_unlock(&inode->log_mutex);
|
||||
if (ret < 0 && ret != -ENOENT)
|
||||
btrfs_set_log_full_commit(trans);
|
||||
|
||||
@@ -82,9 +82,9 @@ void btrfs_del_dir_entries_in_log(struct btrfs_trans_handle *trans,
|
||||
const struct fscrypt_str *name,
|
||||
struct btrfs_inode *dir, u64 index);
|
||||
void btrfs_del_inode_ref_in_log(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root,
|
||||
const struct fscrypt_str *name,
|
||||
struct btrfs_inode *inode, u64 dirid);
|
||||
struct btrfs_inode *inode,
|
||||
struct btrfs_inode *dir);
|
||||
void btrfs_end_log_trans(struct btrfs_root *root);
|
||||
void btrfs_pin_log_trans(struct btrfs_root *root);
|
||||
void btrfs_record_unlink_dir(struct btrfs_trans_handle *trans,
|
||||
|
||||
Reference in New Issue
Block a user