}
data.ops++;
}
+
+ /// Set keys on an oid omap (bufferlist variant).
+ void omap_setkeys(
+ coll_t cid, ///< [in] Collection containing oid
+ const ghobject_t &oid, ///< [in] Object to update
+ const bufferlist &attrset_bl ///< [in] Replacement keys and values
+ ) {
+ if (use_tbl) {
+ __u32 op = OP_OMAP_SETKEYS;
+ ::encode(op, tbl);
+ ::encode(cid, tbl);
+ ::encode(oid, tbl);
+ tbl.append(attrset_bl);
+ } else {
+ Op* _op = _get_next_op();
+ _op->op = OP_OMAP_SETKEYS;
+ _op->cid = _get_coll_id(cid);
+ _op->oid = _get_object_id(oid);
+ data_bl.append(attrset_bl);
+ }
+ data.ops++;
+ }
+
/// Remove keys from oid omap
void omap_rmkeys(
coll_t cid, ///< [in] Collection containing oid
data.ops++;
}
+ /// Remove keys from oid omap
+ void omap_rmkeys(
+ coll_t cid, ///< [in] Collection containing oid
+ const ghobject_t &oid, ///< [in] Object from which to remove the omap
+ const bufferlist &keys_bl ///< [in] Keys to clear
+ ) {
+ if (use_tbl) {
+ __u32 op = OP_OMAP_RMKEYS;
+ ::encode(op, tbl);
+ ::encode(cid, tbl);
+ ::encode(oid, tbl);
+ tbl.append(keys_bl);
+ } else {
+ Op* _op = _get_next_op();
+ _op->op = OP_OMAP_RMKEYS;
+ _op->cid = _get_coll_id(cid);
+ _op->oid = _get_object_id(oid);
+ data_bl.append(keys_bl);
+ }
+ data.ops++;
+ }
+
/// Remove key range from oid omap
void omap_rmkeyrange(
coll_t cid, ///< [in] Collection containing oid