From 5bbb3d6e833a418f3c12a3156c3765f7505c5bfb Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Tue, 16 Feb 2010 12:39:46 -0800 Subject: [PATCH] rados tool: mkpool/rmpool commands now available --- src/rados.cc | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/rados.cc b/src/rados.cc index d2304a651e321..fff989ae40547 100644 --- a/src/rados.cc +++ b/src/rados.cc @@ -45,6 +45,8 @@ void usage() cerr << " rm objname -- remove object\n"; cerr << " ls -- list objects in pool\n\n"; + cerr << " mkpool foo -- create pool 'foo'\n"; + cerr << " rmpool foo -- remove pool 'foo'\n"; cerr << " lssnap -- list snaps\n"; cerr << " mksnap foo -- create snap 'foo'\n"; cerr << " rmsnap foo -- remove snap 'foo'\n\n"; @@ -272,6 +274,29 @@ int main(int argc, const char **argv) } } + else if (strcmp(nargs[0], "mkpool") == 0) { + if (nargs.size() < 2) + usage(); + ret = rados.create_pool(nargs[1]); + if (ret < 0) { + cerr << "error creating pool " << nargs[1] << ": " + << strerror_r(-ret, buf, sizeof(buf)) << std::endl; + goto out; + } + cout << "successfully created pool " << nargs[1] << std::endl; + } + else if (strcmp(nargs[0], "rmpool") == 0) { + if (nargs.size() < 2) + usage(); + rados_pool_t rm_me; + rados.open_pool(nargs[1], &rm_me); + ret = rados.delete_pool(rm_me); + if (ret < 0) { + cerr << "error deleting pool " << nargs[1] << ": " + << strerror_r(-ret, buf, sizeof(buf)) << std::endl; + } + cout << "successfully deleted pool " << nargs[1] << std::endl; + } else if (strcmp(nargs[0], "lssnap") == 0) { if (!pool || nargs.size() != 1) usage(); -- 2.39.5