btrfs: pass the dentry to btrfs_log_new_name() instead of the inode
In the next patch in the series, there will be the need to access the old name, and its length, of an inode when logging the inode during a rename. So instead of passing the inode to btrfs_log_new_name() pass the dentry, because from the dentry we can get the inode, the name and its length. This will avoid passing 3 new parameters to btrfs_log_new_name() in the next patch - the name, its length and an index number. This way we end up passing only 1 new parameter, the index number. 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
839061fe88
commit
d5f5bd5465
@@ -6531,7 +6531,7 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir,
|
||||
goto fail;
|
||||
}
|
||||
d_instantiate(dentry, inode);
|
||||
btrfs_log_new_name(trans, BTRFS_I(inode), NULL, parent);
|
||||
btrfs_log_new_name(trans, old_dentry, NULL, parent);
|
||||
}
|
||||
|
||||
fail:
|
||||
@@ -9211,13 +9211,13 @@ static int btrfs_rename_exchange(struct inode *old_dir,
|
||||
BTRFS_I(new_inode)->dir_index = new_idx;
|
||||
|
||||
if (root_log_pinned) {
|
||||
btrfs_log_new_name(trans, BTRFS_I(old_inode), BTRFS_I(old_dir),
|
||||
btrfs_log_new_name(trans, old_dentry, BTRFS_I(old_dir),
|
||||
new_dentry->d_parent);
|
||||
btrfs_end_log_trans(root);
|
||||
root_log_pinned = false;
|
||||
}
|
||||
if (dest_log_pinned) {
|
||||
btrfs_log_new_name(trans, BTRFS_I(new_inode), BTRFS_I(new_dir),
|
||||
btrfs_log_new_name(trans, new_dentry, BTRFS_I(new_dir),
|
||||
old_dentry->d_parent);
|
||||
btrfs_end_log_trans(dest);
|
||||
dest_log_pinned = false;
|
||||
@@ -9498,7 +9498,7 @@ static int btrfs_rename(struct user_namespace *mnt_userns,
|
||||
BTRFS_I(old_inode)->dir_index = index;
|
||||
|
||||
if (log_pinned) {
|
||||
btrfs_log_new_name(trans, BTRFS_I(old_inode), BTRFS_I(old_dir),
|
||||
btrfs_log_new_name(trans, old_dentry, BTRFS_I(old_dir),
|
||||
new_dentry->d_parent);
|
||||
btrfs_end_log_trans(root);
|
||||
log_pinned = false;
|
||||
|
||||
Reference in New Issue
Block a user