From: Josh Durgin Date: Thu, 6 Feb 2014 01:25:24 +0000 (-0800) Subject: rados: check return values for commands that can now fail X-Git-Tag: v0.78~206^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=79c1874346ff55e2dc74ef860db16ce70242fd00;p=ceph.git rados: check return values for commands that can now fail A few places were not checking the return values of commands, since they could not fail before timeouts were added. Signed-off-by: Josh Durgin --- diff --git a/src/tools/rados/rados.cc b/src/tools/rados/rados.cc index e5ee834bdea4..66a79191d231 100644 --- a/src/tools/rados/rados.cc +++ b/src/tools/rados/rados.cc @@ -1358,7 +1358,11 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts, // list pools? if (strcmp(nargs[0], "lspools") == 0) { list vec; - rados.pool_list(vec); + ret = rados.pool_list(vec); + if (ret < 0) { + cerr << "error listing pools: " << cpp_strerror(ret) << std::endl; + goto out; + } for (list::iterator i = vec.begin(); i != vec.end(); ++i) cout << *i << std::endl; } @@ -1366,13 +1370,22 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts, // pools list vec; - if (!pool_name) - rados.pool_list(vec); - else + if (!pool_name) { + ret = rados.pool_list(vec); + if (ret < 0) { + cerr << "error listing pools: " << cpp_strerror(ret) << std::endl; + goto out; + } + } else { vec.push_back(pool_name); + } map > stats; - rados.get_pool_stats(vec, category, stats); + ret = rados.get_pool_stats(vec, category, stats); + if (ret < 0) { + cerr << "error fetching pool stats: " << cpp_strerror(ret) << std::endl; + goto out; + } if (!formatter) { printf("%-15s %-15s" @@ -1449,7 +1462,11 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts, // total cluster_stat_t tstats; - rados.cluster_stat(tstats); + ret = rados.cluster_stat(tstats); + if (ret < 0) { + cerr << "error getting total cluster usage: " << cpp_strerror(ret) << std::endl; + goto out; + } if (!formatter) { printf(" total used %12lld %12lld\n", (long long unsigned)tstats.kb_used, (long long unsigned)tstats.num_objects);