From cdcdd78f3b6209271cb3f2409e147e45969d69f0 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 19 Oct 2015 14:53:49 -0400 Subject: [PATCH] osd/ReplicatedBackend: add bl-based setkeys/rmkeys Signed-off-by: Sage Weil --- src/osd/PGBackend.h | 8 ++++++++ src/osd/ReplicatedBackend.cc | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/osd/PGBackend.h b/src/osd/PGBackend.h index 52599942b439d..fd34143450756 100644 --- a/src/osd/PGBackend.h +++ b/src/osd/PGBackend.h @@ -406,10 +406,18 @@ const hobject_t &hoid, ///< [in] object to write map &keys ///< [in] omap keys, may be cleared ) { assert(0); } + virtual void omap_setkeys( + const hobject_t &hoid, ///< [in] object to write + bufferlist &keys_bl ///< [in] omap keys, may be cleared + ) { assert(0); } virtual void omap_rmkeys( const hobject_t &hoid, ///< [in] object to write set &keys ///< [in] omap keys, may be cleared ) { assert(0); } + virtual void omap_rmkeys( + const hobject_t &hoid, ///< [in] object to write + bufferlist &keys_bl ///< [in] omap keys, may be cleared + ) { assert(0); } virtual void omap_clear( const hobject_t &hoid ///< [in] object to clear omap ) { assert(0); } diff --git a/src/osd/ReplicatedBackend.cc b/src/osd/ReplicatedBackend.cc index 824ce461d9376..9e7c44238186b 100644 --- a/src/osd/ReplicatedBackend.cc +++ b/src/osd/ReplicatedBackend.cc @@ -398,12 +398,25 @@ public: written += p->first.length() + p->second.length(); return t->omap_setkeys(get_coll(hoid), ghobject_t(hoid), keys); } + void omap_setkeys( + const hobject_t &hoid, + bufferlist &keys_bl + ) { + written += keys_bl.length(); + return t->omap_setkeys(get_coll(hoid), ghobject_t(hoid), keys_bl); + } void omap_rmkeys( const hobject_t &hoid, set &keys ) { t->omap_rmkeys(get_coll(hoid), ghobject_t(hoid), keys); } + void omap_rmkeys( + const hobject_t &hoid, + bufferlist &keys_bl + ) { + t->omap_rmkeys(get_coll(hoid), ghobject_t(hoid), keys_bl); + } void omap_clear( const hobject_t &hoid ) { -- 2.39.5