From: Sage Weil Date: Mon, 19 Oct 2015 18:53:49 +0000 (-0400) Subject: osd/ReplicatedBackend: add bl-based setkeys/rmkeys X-Git-Tag: v10.0.1~116^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cdcdd78f3b6209271cb3f2409e147e45969d69f0;p=ceph.git osd/ReplicatedBackend: add bl-based setkeys/rmkeys Signed-off-by: Sage Weil --- diff --git a/src/osd/PGBackend.h b/src/osd/PGBackend.h index 52599942b439..fd3414345075 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 824ce461d937..9e7c44238186 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 ) {