]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
radosgw-admin: metadata list user should return an empty list when pool is empty 6465/head
authorOrit Wasserman <owasserm@redhat.com>
Wed, 4 Nov 2015 16:37:34 +0000 (17:37 +0100)
committerOrit Wasserman <owasserm@redhat.com>
Wed, 4 Nov 2015 17:57:22 +0000 (18:57 +0100)
Fixes: #13596
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
src/rgw/rgw_admin.cc
src/rgw/rgw_rados.cc

index f9d4c41bca1f499841f6262fc1e5613d3326c386..1b29de162477405d6708b8a2c45bf21ce4322fa5 100644 (file)
@@ -2772,16 +2772,15 @@ next:
     do {
       list<string> 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<string>::iterator iter = keys.begin(); iter != keys.end(); ++iter) {
+         formatter->dump_string("key", *iter);
+       }
+       formatter->flush(cout);
       }
-
-      for (list<string>::iterator iter = keys.begin(); iter != keys.end(); ++iter) {
-       formatter->dump_string("key", *iter);
-      }
-      formatter->flush(cout);
-
     } while (truncated);
 
     formatter->close_section();
index 45fde7a42bd8fe815441377b40c9f9de24cd96ae..744d64e9c13e0540bf45367cf38277f12d91154d 100644 (file)
@@ -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<RGWObjEnt> 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;
   }