]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: metadata list user, only show uids
authorYehuda Sadeh <yehuda@inktank.com>
Wed, 6 Mar 2013 18:25:52 +0000 (10:25 -0800)
committerYehuda Sadeh <yehuda@inktank.com>
Wed, 8 May 2013 17:55:50 +0000 (10:55 -0700)
don't show unrelated object names

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
src/rgw/rgw_user.cc

index 97847766f470a5b77586f83d9088baf95ec8bf35..f194f1ee35559e8e45279a46eb45cd0cf48eded4 100644 (file)
@@ -2294,8 +2294,24 @@ public:
 
     RGWRados *store = info->store;
 
-    return store->list_raw_objects(store->zone.user_uid_pool, no_filter,
-                                   max, info->ctx, keys, truncated);
+    list<string> unfiltered_keys;
+
+    int ret = store->list_raw_objects(store->zone.user_uid_pool, no_filter,
+                                      max, info->ctx, unfiltered_keys, truncated);
+    if (ret < 0)
+      return ret;
+
+    // now filter out the buckets entries
+    list<string>::iterator iter;
+    for (iter = unfiltered_keys.begin(); iter != unfiltered_keys.end(); ++iter) {
+      string& k = *iter;
+
+      if (k.find(".buckets") == string::npos) {
+        keys.push_back(k);
+      }
+    }
+
+    return 0;
   }
 
   void list_keys_complete(void *handle) {