From a80a0caaeeb6ff05561f60cb7ea5c76fc1648fdd Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Fri, 12 Jun 2009 13:29:47 -0700 Subject: [PATCH] rados:Added basic df functionality to rados and fixed librados.cc to handle statfs_reply messages --- src/librados.cc | 4 ++++ src/rados.cc | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/librados.cc b/src/librados.cc index 16ab3b61234a0..7400795b2429b 100644 --- a/src/librados.cc +++ b/src/librados.cc @@ -369,6 +369,10 @@ bool RadosClient::_dispatch(Message *m) case CEPH_MSG_MDS_MAP: break; + case CEPH_MSG_STATFS_REPLY: + objecter->handle_fs_stats_reply((MStatfsReply*)m); + break; + default: return false; } diff --git a/src/rados.cc b/src/rados.cc index 3097d626f69d4..b3bdb0c8bb448 100644 --- a/src/rados.cc +++ b/src/rados.cc @@ -350,6 +350,14 @@ int main(int argc, const char **argv) cout << *iter << std::endl; } } + else if (strcmp(nargs[0], "df") == 0) { + rados_statfs_t stats; + rados.get_fs_stats(stats); + cout << "Total space: " << stats.f_total << std::endl + << "Total free: " << stats.f_free << std::endl + << "Total available:" << stats.f_avail << std::endl + << "Total objects :" << stats.f_objects << std::endl; + } else if (strcmp(nargs[0], "get") == 0) { if (!pool || nargs.size() < 2) usage(); -- 2.39.5