]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rgw: clean up interenal shard logic in ordered bucket list 31338/head
authorJ. Eric Ivancich <ivancich@redhat.com>
Sat, 2 Nov 2019 21:54:54 +0000 (17:54 -0400)
committerJ. Eric Ivancich <ivancich@redhat.com>
Wed, 19 Feb 2020 19:30:31 +0000 (14:30 -0500)
commit55db9a282b627de94bfb3d9a233693e6dba73619
tree0b53db83f9034111e1ba841d925c17117e9dfc80
parentd66cc42d7e865b9ce05e08b02247f86c757d248d
rgw: clean up interenal shard logic in ordered bucket list

The logic of RGWRados::cls_bucket_list_ordered is complex as it needs
to query multiple bucket index shards and manage their returned lists,
and walk through them in a manner to produce an appropriately ordered
set of dir entries to the caller. The previous implementation used
three of parallel std::vectors (e.g., the related data was spread
across the vectors), which needed to each be maintained
appropriately. This clean-up changes this to a single vector of
structs, and the struct both consolidates the related data and
encapsulates much of the related logic.

Additionally, const correctness is expanded.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
src/cls/rgw/cls_rgw_types.h
src/rgw/rgw_rados.cc