btrfs: fix wrong data space statistics
authorMiao Xie <miaox@cn.fujitsu.com>
Wed, 5 Jan 2011 10:07:15 +0000 (10:07 +0000)
committerChris Mason <chris.mason@oracle.com>
Sun, 16 Jan 2011 16:30:19 +0000 (11:30 -0500)
Josef has implemented mixed data/metadata chunks, we must add those chunks'
space just like data chunks.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Reviewed-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/super.c

index a1a76b2a61f9dbe4f390a5b1e15c5d7aa6e776c2..caa5bcc62f16ca01880beb013cf11de0f9b84f25 100644 (file)
@@ -790,11 +790,10 @@ static int btrfs_statfs(struct dentry *dentry, struct kstatfs *buf)
 
        rcu_read_lock();
        list_for_each_entry_rcu(found, head, list) {
-               if (found->flags & (BTRFS_BLOCK_GROUP_METADATA |
-                                   BTRFS_BLOCK_GROUP_SYSTEM))
-                       total_used_data += found->disk_total;
-               else
+               if (found->flags & BTRFS_BLOCK_GROUP_DATA)
                        total_used_data += found->disk_used;
+               else
+                       total_used_data += found->disk_total;
                total_used += found->disk_used;
        }
        rcu_read_unlock();