]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
cls/rgw: list_plain_entries() stops before bi_log entries 15384/head
authorCasey Bodley <cbodley@redhat.com>
Fri, 5 May 2017 18:56:40 +0000 (14:56 -0400)
committerAlexey Sheplyakov <asheplyakov@mirantis.com>
Wed, 31 May 2017 14:21:42 +0000 (18:21 +0400)
commit727653623f6cc616bdeeab2f0ce98f41a649ceee
tree0d668a3f02fe23dc697f819141acc446fbadc4ad
parentae0eab53f0bb05c954fc98e019e2d5a054dbba45
cls/rgw: list_plain_entries() stops before bi_log entries

list_plain_entries() was using encode_obj_versioned_data_key() to set
its end_key, which gives a prefix of BI_BUCKET_OBJ_INSTANCE_INDEX[=2]

that range between start_key and end_key would not only span the
BI_BUCKET_OBJS_INDEX[=0] prefixes, but BI_BUCKET_LOG_INDEX[=1] prefixes
as well. this can result in list_plain_entries() trying and failing to
decode a rgw_bi_log_entry as a rgw_bucket_dir_entry

Fixes: http://tracker.ceph.com/issues/19876
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit b29a1633a57abf443d5790c13d680d2917f86037)
src/cls/rgw/cls_rgw.cc