|
@@ -71,8 +71,14 @@ static int ceph_statfs(struct dentry *dentry, struct kstatfs *buf)
|
|
|
/*
|
|
|
* express utilization in terms of large blocks to avoid
|
|
|
* overflow on 32-bit machines.
|
|
|
+ *
|
|
|
+ * NOTE: for the time being, we make bsize == frsize to humor
|
|
|
+ * not-yet-ancient versions of glibc that are broken.
|
|
|
+ * Someday, we will probably want to report a real block
|
|
|
+ * size... whatever that may mean for a network file system!
|
|
|
*/
|
|
|
buf->f_bsize = 1 << CEPH_BLOCK_SHIFT;
|
|
|
+ buf->f_frsize = 1 << CEPH_BLOCK_SHIFT;
|
|
|
buf->f_blocks = le64_to_cpu(st.kb) >> (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);
|
|
@@ -80,7 +86,6 @@ static int ceph_statfs(struct dentry *dentry, struct kstatfs *buf)
|
|
|
buf->f_files = le64_to_cpu(st.num_objects);
|
|
|
buf->f_ffree = -1;
|
|
|
buf->f_namelen = NAME_MAX;
|
|
|
- buf->f_frsize = PAGE_CACHE_SIZE;
|
|
|
|
|
|
/* leave fsid little-endian, regardless of host endianness */
|
|
|
fsid = *(u64 *)(&monmap->fsid) ^ *((u64 *)&monmap->fsid + 1);
|