diff options
author | Yehuda Sadeh <yehuda@inktank.com> | 2013-07-15 18:43:56 -0700 |
---|---|---|
committer | Yehuda Sadeh <yehuda@inktank.com> | 2013-07-15 18:43:56 -0700 |
commit | 408014ee462a9fcf92971f90a3745f815a813d84 (patch) | |
tree | 3ad0bf5675388d64aa3e54e120b9f39e65672907 | |
parent | eef44582798c443bcc55c6a1f4f8cbb6e9ca2653 (diff) | |
download | ceph-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.cc | 14 |
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 |