ceph: report f_bfree based on kb_avail rather than diffing.
authorGreg Farnum <[email protected]>
Tue, 26 Jul 2011 18:26:54 +0000 (11:26 -0700)
committerSage Weil <[email protected]>
Tue, 26 Jul 2011 18:27:06 +0000 (11:27 -0700)
Reviewed-by: Yehuda Sadeh <[email protected]>
Signed-off-by: Greg Farnum <[email protected]>
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);