From 7d03e932aef48d81982e4078abfc4898bf669723 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Mon, 18 Aug 2008 13:10:20 +0100 Subject: [PATCH] --- yaml --- r: 128911 b: refs/heads/master c: 32d48fa1af1fe066a6a4798e6f5a50ac6a3ce4a3 h: refs/heads/master i: 128909: c31598c65f11e5e3180c4a7e169d578026073a2b 128907: ace8b9e63e16f11c6011fe68eddd4bc58d701489 128903: aebea4a9d00eabc9dca65e3b987d194fd2ab4e10 128895: 6316572da08750918cef7f4e18ed9bd503ec9683 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/super.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 5fd710a260d4..9c0e9df10387 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9d03632e26e1a0a9e4a632cf426a7c0566768a7d +refs/heads/master: 32d48fa1af1fe066a6a4798e6f5a50ac6a3ce4a3 diff --git a/trunk/fs/btrfs/super.c b/trunk/fs/btrfs/super.c index 6446ab73f35a..55f4d00fda3a 100644 --- a/trunk/fs/btrfs/super.c +++ b/trunk/fs/btrfs/super.c @@ -503,6 +503,10 @@ static int btrfs_statfs(struct dentry *dentry, struct kstatfs *buf) on a big-endian or little-endian host */ buf->f_fsid.val[0] = be32_to_cpu(fsid[0]) ^ be32_to_cpu(fsid[2]); buf->f_fsid.val[1] = be32_to_cpu(fsid[1]) ^ be32_to_cpu(fsid[3]); + /* Mask in the root object ID too, to disambiguate subvols */ + buf->f_fsid.val[0] ^= BTRFS_I(dentry->d_inode)->root->objectid >> 32; + buf->f_fsid.val[1] ^= BTRFS_I(dentry->d_inode)->root->objectid; + return 0; }