From 78c5b9a2d18e30622c30b73d33e59718a91c4056 Mon Sep 17 00:00:00 2001 From: Orit Wasserman Date: Wed, 4 Nov 2015 17:37:34 +0100 Subject: [PATCH] radosgw-admin: metadata list user should return an empty list when pool is empty Fixes: #13596 Signed-off-by: Orit Wasserman --- src/rgw/rgw_admin.cc | 13 ++++++------- src/rgw/rgw_rados.cc | 4 ++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index f9d4c41bca1f4..1b29de1624774 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -2772,16 +2772,15 @@ next: do { list keys; ret = store->meta_mgr->list_keys_next(handle, max, keys, &truncated); - if (ret < 0) { + if (ret < 0 && ret != -ENOENT) { cerr << "ERROR: lists_keys_next(): " << cpp_strerror(-ret) << std::endl; return -ret; + } if (ret != -ENOENT) { + for (list::iterator iter = keys.begin(); iter != keys.end(); ++iter) { + formatter->dump_string("key", *iter); + } + formatter->flush(cout); } - - for (list::iterator iter = keys.begin(); iter != keys.end(); ++iter) { - formatter->dump_string("key", *iter); - } - formatter->flush(cout); - } while (truncated); formatter->close_section(); diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 45fde7a42bd8f..744d64e9c13e0 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -7901,7 +7901,7 @@ int RGWRados::list_raw_objects(rgw_bucket& pool, const string& prefix_filter, if (!ctx.initialized) { int r = pool_iterate_begin(pool, ctx.iter_ctx); if (r < 0) { - lderr(cct) << "failed to list objects pool_iterate_begin() returned r=" << r << dendl; + ldout(cct, 10) << "failed to list objects pool_iterate_begin() returned r=" << r << dendl; return r; } ctx.initialized = true; @@ -7910,7 +7910,7 @@ int RGWRados::list_raw_objects(rgw_bucket& pool, const string& prefix_filter, vector objs; int r = pool_iterate(ctx.iter_ctx, max, objs, is_truncated, &filter); if (r < 0) { - lderr(cct) << "failed to list objects pool_iterate returned r=" << r << dendl; + ldout(cct, 10) << "failed to list objects pool_iterate returned r=" << r << dendl; return r; } -- 2.47.3