summaryrefslogtreecommitdiffstats
path: root/src/rgw/rgw_cr_rados.h
diff options
context:
space:
mode:
authorCasey Bodley <cbodley@redhat.com>2020-03-31 15:22:51 +0200
committerCasey Bodley <cbodley@redhat.com>2020-04-13 17:06:46 +0200
commit5a64703fd6d24399137aa550fec6023dec1be162 (patch)
treeca29ec802ea3ef87c03b6ba398be83a03047bb18 /src/rgw/rgw_cr_rados.h
parentrgw: incremental bucket sync status stores timestamp (diff)
downloadceph-5a64703fd6d24399137aa550fec6023dec1be162.tar.xz
ceph-5a64703fd6d24399137aa550fec6023dec1be162.zip
rgw: add CR for omap_get_vals()
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Diffstat (limited to 'src/rgw/rgw_cr_rados.h')
-rw-r--r--src/rgw/rgw_cr_rados.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/rgw/rgw_cr_rados.h b/src/rgw/rgw_cr_rados.h
index e3a9e3c465a..23c75438d12 100644
--- a/src/rgw/rgw_cr_rados.h
+++ b/src/rgw/rgw_cr_rados.h
@@ -614,6 +614,31 @@ class RGWRadosGetOmapKeysCR : public RGWSimpleCoroutine {
boost::intrusive_ptr<RGWAioCompletionNotifier> cn;
};
+class RGWRadosGetOmapValsCR : public RGWSimpleCoroutine {
+ public:
+ struct Result {
+ rgw_rados_ref ref;
+ std::map<std::string, bufferlist> entries;
+ bool more = false;
+ };
+ using ResultPtr = std::shared_ptr<Result>;
+
+ RGWRadosGetOmapValsCR(rgw::sal::RGWRadosStore *_store, const rgw_raw_obj& _obj,
+ const string& _marker, int _max_entries,
+ ResultPtr result);
+
+ int send_request() override;
+ int request_complete() override;
+
+ private:
+ rgw::sal::RGWRadosStore *store;
+ rgw_raw_obj obj;
+ string marker;
+ int max_entries;
+ ResultPtr result;
+ boost::intrusive_ptr<RGWAioCompletionNotifier> cn;
+};
+
class RGWRadosRemoveOmapKeysCR : public RGWSimpleCoroutine {
rgw::sal::RGWRadosStore *store;