]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
os: add bufferlist overload for omap_rmkeyrange()
authorCasey Bodley <cbodley@redhat.com>
Thu, 18 May 2017 18:55:51 +0000 (14:55 -0400)
committerCasey Bodley <cbodley@redhat.com>
Tue, 6 Aug 2019 19:21:16 +0000 (15:21 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/os/Transaction.h

index 20d554819c296f054af47620879d8ce94936f7b8..2ca7bacd171a0b9157f78fa9c9ed2cf656362542 100644 (file)
@@ -1140,15 +1140,29 @@ public:
     const std::string& first,    ///< [in] first key in range
     const std::string& last      ///< [in] first key past range, range is [first,last)
     ) {
-      using ceph::encode;
-       Op* _op = _get_next_op();
-       _op->op = OP_OMAP_RMKEYRANGE;
-       _op->cid = _get_coll_id(cid);
-       _op->oid = _get_object_id(oid);
-       encode(first, data_bl);
-       encode(last, data_bl);
-       data.ops++;
-    }
+    using ceph::encode;
+    Op* _op = _get_next_op();
+    _op->op = OP_OMAP_RMKEYRANGE;
+    _op->cid = _get_coll_id(cid);
+    _op->oid = _get_object_id(oid);
+    encode(first, data_bl);
+    encode(last, data_bl);
+    data.ops++;
+  }
+
+  /// Remove key range from oid omap
+  void omap_rmkeyrange(
+    const coll_t cid,       ///< [in] Collection containing oid
+    const ghobject_t &oid,  ///< [in] Object from which to remove the omap keys
+    const bufferlist &keys_bl ///< [in] range of keys to clear
+    ) {
+    Op* _op = _get_next_op();
+    _op->op = OP_OMAP_RMKEYRANGE;
+    _op->cid = _get_coll_id(cid);
+    _op->oid = _get_object_id(oid);
+    data_bl.append(keys_bl);
+    data.ops++;
+  }
 
   /// Set omap header
   void omap_setheader(