summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@inktank.com>2013-07-15 18:43:56 -0700
committerYehuda Sadeh <yehuda@inktank.com>2013-07-15 18:43:56 -0700
commit408014ee462a9fcf92971f90a3745f815a813d84 (patch)
tree3ad0bf5675388d64aa3e54e120b9f39e65672907
parenteef44582798c443bcc55c6a1f4f8cbb6e9ca2653 (diff)
downloadceph-408014ee462a9fcf92971f90a3745f815a813d84.tar.gz
rgw: handle ENOENT when listing bucket metadata entries
Just return success (with an empty list) Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
-rw-r--r--src/rgw/rgw_bucket.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/rgw/rgw_bucket.cc b/src/rgw/rgw_bucket.cc
index 23354233c96..aae7d31e21c 100644
--- a/src/rgw/rgw_bucket.cc
+++ b/src/rgw/rgw_bucket.cc
@@ -1476,8 +1476,13 @@ public:
int ret = store->list_raw_objects(store->zone.domain_root, no_filter,
max, info->ctx, unfiltered_keys, truncated);
- if (ret < 0)
+ if (ret < 0 && ret != -ENOENT)
return ret;
+ if (ret == -ENOENT) {
+ if (truncated)
+ *truncated = false;
+ return 0;
+ }
// now filter out the system entries
list<string>::iterator iter;
@@ -1618,8 +1623,13 @@ public:
int ret = store->list_raw_objects(store->zone.domain_root, no_filter,
max, info->ctx, unfiltered_keys, truncated);
- if (ret < 0)
+ if (ret < 0 && ret != -ENOENT)
return ret;
+ if (ret == -ENOENT) {
+ if (truncated)
+ *truncated = false;
+ return 0;
+ }
int prefix_size = sizeof(RGW_BUCKET_INSTANCE_MD_PREFIX) - 1;
// now filter in the relevant entries