ceph: report f_bfree based on kb_avail rather than diffing.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Tue, 26 Jul 2011 18:26:54 +0000 (11:26 -0700)
committerSage Weil <sage@newdream.net>
Tue, 26 Jul 2011 18:27:06 +0000 (11:27 -0700)
Reviewed-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
fs/ceph/super.c

index f2f77fd3c14cbc689672bb93366a28d2970916a9..d4757c98ec1400f9a2328e8e17c1c8e2a8a8c836 100644 (file)
@@ -73,8 +73,7 @@ static int ceph_statfs(struct dentry *dentry, struct kstatfs *buf)
         */
        buf->f_bsize = 1 << CEPH_BLOCK_SHIFT;
        buf->f_blocks = le64_to_cpu(st.kb) >> (CEPH_BLOCK_SHIFT-10);
-       buf->f_bfree = (le64_to_cpu(st.kb) - le64_to_cpu(st.kb_used)) >>
-               (CEPH_BLOCK_SHIFT-10);
+       buf->f_bfree = le64_to_cpu(st.kb_avail) >> (CEPH_BLOCK_SHIFT-10);
        buf->f_bavail = le64_to_cpu(st.kb_avail) >> (CEPH_BLOCK_SHIFT-10);
 
        buf->f_files = le64_to_cpu(st.num_objects);