diff --git a/[refs] b/[refs] index 3c4723715a7d..a75f840e2c43 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a7a3f7cadd9bdee569243f7ead9550aa16b60e07 +refs/heads/master: 4a8be425a8fb8fbb5d881eb55fa6634c3463b9c9 diff --git a/trunk/fs/btrfs/inode.c b/trunk/fs/btrfs/inode.c index 168e8c040aab..da76cad92ecf 100644 --- a/trunk/fs/btrfs/inode.c +++ b/trunk/fs/btrfs/inode.c @@ -4462,6 +4462,10 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir, if (inode->i_nlink == 0) return -ENOENT; + /* do not allow sys_link's with other subvols of the same device */ + if (root->objectid != BTRFS_I(inode)->root->objectid) + return -EPERM; + /* * 1 item for inode ref * 2 items for dir items