diff options
-rw-r--r-- | fs/ceph/super.c | 7 | ||||
-rw-r--r-- | fs/ceph/super.h | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/fs/ceph/super.c b/fs/ceph/super.c index e86aa9948124..9fe17c6c2876 100644 --- a/fs/ceph/super.c +++ b/fs/ceph/super.c | |||
@@ -71,8 +71,14 @@ static int ceph_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
71 | /* | 71 | /* |
72 | * express utilization in terms of large blocks to avoid | 72 | * express utilization in terms of large blocks to avoid |
73 | * overflow on 32-bit machines. | 73 | * overflow on 32-bit machines. |
74 | * | ||
75 | * NOTE: for the time being, we make bsize == frsize to humor | ||
76 | * not-yet-ancient versions of glibc that are broken. | ||
77 | * Someday, we will probably want to report a real block | ||
78 | * size... whatever that may mean for a network file system! | ||
74 | */ | 79 | */ |
75 | buf->f_bsize = 1 << CEPH_BLOCK_SHIFT; | 80 | buf->f_bsize = 1 << CEPH_BLOCK_SHIFT; |
81 | buf->f_frsize = 1 << CEPH_BLOCK_SHIFT; | ||
76 | buf->f_blocks = le64_to_cpu(st.kb) >> (CEPH_BLOCK_SHIFT-10); | 82 | buf->f_blocks = le64_to_cpu(st.kb) >> (CEPH_BLOCK_SHIFT-10); |
77 | buf->f_bfree = le64_to_cpu(st.kb_avail) >> (CEPH_BLOCK_SHIFT-10); | 83 | buf->f_bfree = le64_to_cpu(st.kb_avail) >> (CEPH_BLOCK_SHIFT-10); |
78 | buf->f_bavail = le64_to_cpu(st.kb_avail) >> (CEPH_BLOCK_SHIFT-10); | 84 | 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) | |||
80 | buf->f_files = le64_to_cpu(st.num_objects); | 86 | buf->f_files = le64_to_cpu(st.num_objects); |
81 | buf->f_ffree = -1; | 87 | buf->f_ffree = -1; |
82 | buf->f_namelen = NAME_MAX; | 88 | buf->f_namelen = NAME_MAX; |
83 | buf->f_frsize = PAGE_CACHE_SIZE; | ||
84 | 89 | ||
85 | /* leave fsid little-endian, regardless of host endianness */ | 90 | /* leave fsid little-endian, regardless of host endianness */ |
86 | fsid = *(u64 *)(&monmap->fsid) ^ *((u64 *)&monmap->fsid + 1); | 91 | fsid = *(u64 *)(&monmap->fsid) ^ *((u64 *)&monmap->fsid + 1); |
diff --git a/fs/ceph/super.h b/fs/ceph/super.h index 9861cce10a49..604526a0d6cd 100644 --- a/fs/ceph/super.h +++ b/fs/ceph/super.h | |||
@@ -21,7 +21,7 @@ | |||
21 | 21 | ||
22 | /* large granularity for statfs utilization stats to facilitate | 22 | /* large granularity for statfs utilization stats to facilitate |
23 | * large volume sizes on 32-bit machines. */ | 23 | * large volume sizes on 32-bit machines. */ |
24 | #define CEPH_BLOCK_SHIFT 20 /* 1 MB */ | 24 | #define CEPH_BLOCK_SHIFT 22 /* 4 MB */ |
25 | #define CEPH_BLOCK (1 << CEPH_BLOCK_SHIFT) | 25 | #define CEPH_BLOCK (1 << CEPH_BLOCK_SHIFT) |
26 | 26 | ||
27 | #define CEPH_MOUNT_OPT_DIRSTAT (1<<4) /* `cat dirname` for stats */ | 27 | #define CEPH_MOUNT_OPT_DIRSTAT (1<<4) /* `cat dirname` for stats */ |