aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/inode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 19fcde289dd9..01c5f8b5a34e 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -5055,6 +5055,9 @@ static int btrfs_rename(struct inode *old_dir, struct dentry *old_dentry,
5055 u64 root_objectid; 5055 u64 root_objectid;
5056 int ret; 5056 int ret;
5057 5057
5058 if (new_dir->i_ino == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)
5059 return -EPERM;
5060
5058 /* we only allow rename subvolume link between subvolumes */ 5061 /* we only allow rename subvolume link between subvolumes */
5059 if (old_inode->i_ino != BTRFS_FIRST_FREE_OBJECTID && root != dest) 5062 if (old_inode->i_ino != BTRFS_FIRST_FREE_OBJECTID && root != dest)
5060 return -EXDEV; 5063 return -EXDEV;