From 04455b859a02e247b091f76f1fb1b1f3700f9498 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 17 Jun 2009 16:08:21 -0700 Subject: [PATCH] kclient: update client for statfs changes --- src/kernel/mon_client.c | 5 +---- src/kernel/super.c | 9 +++++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/kernel/mon_client.c b/src/kernel/mon_client.c index aed6c8976eb43..555178719366f 100644 --- a/src/kernel/mon_client.c +++ b/src/kernel/mon_client.c @@ -295,10 +295,7 @@ void ceph_monc_handle_statfs_reply(struct ceph_mon_client *monc, mutex_lock(&monc->statfs_mutex); req = radix_tree_lookup(&monc->statfs_request_tree, tid); if (req) { - req->buf->f_total = reply->st.f_total; - req->buf->f_free = reply->st.f_free; - req->buf->f_avail = reply->st.f_avail; - req->buf->f_objects = reply->st.f_objects; + *req->buf = reply->st; req->result = 0; } mutex_unlock(&monc->statfs_mutex); diff --git a/src/kernel/super.c b/src/kernel/super.c index a8abd654a4bb1..f1383f135fc24 100644 --- a/src/kernel/super.c +++ b/src/kernel/super.c @@ -84,11 +84,12 @@ static int ceph_statfs(struct dentry *dentry, struct kstatfs *buf) * overflow on 32-bit machines. */ buf->f_bsize = 1 << CEPH_BLOCK_SHIFT; /* 1 MB */ - buf->f_blocks = le64_to_cpu(st.f_total) >> (CEPH_BLOCK_SHIFT-10); - buf->f_bfree = le64_to_cpu(st.f_free) >> (CEPH_BLOCK_SHIFT-10); - buf->f_bavail = le64_to_cpu(st.f_avail) >> (CEPH_BLOCK_SHIFT-10); + 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_bavail = le64_to_cpu(st.kb_avail) >> (CEPH_BLOCK_SHIFT-10); - buf->f_files = le64_to_cpu(st.f_objects); + buf->f_files = le64_to_cpu(st.num_objects); buf->f_ffree = -1; buf->f_namelen = PATH_MAX; buf->f_frsize = PAGE_CACHE_SIZE; -- 2.39.5