mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-03 17:51:57 +09:00
Btrfs: use right root when checking for hash collision
commit 4871c1588f upstream.
btrfs_rename was using the root of the old dir instead of the root of the new
dir when checking for a hash collision, so if you tried to move a file into a
subvol it would freak out because it would see the file you are trying to move
in its current root. This fixes the bug where this would fail
btrfs subvol create test1
btrfs subvol create test2
mv test1 test2.
Thanks to Chris Murphy for catching this,
Reported-by: Chris Murphy <lists@colorremedies.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8c27969472
commit
a849b2f420
@@ -8146,7 +8146,7 @@ static int btrfs_rename(struct inode *old_dir, struct dentry *old_dentry,
|
||||
|
||||
|
||||
/* check for collisions, even if the name isn't there */
|
||||
ret = btrfs_check_dir_item_collision(root, new_dir->i_ino,
|
||||
ret = btrfs_check_dir_item_collision(dest, new_dir->i_ino,
|
||||
new_dentry->d_name.name,
|
||||
new_dentry->d_name.len);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user