const size_t* key_lens,
size_t keys_len);
+
+/**
+ * Remove key/value pairs from an object whose keys are in the range
+ * [key_begin, key_end)
+ *
+ * @param write_op operation to add this action to
+ * @param key_begin the lower bound of the key range to remove
+ * @param key_begin_len length of key_begin
+ * @param key_end the upper bound of the key range to remove
+ * @param key_end_len length of key_end
+ */
+CEPH_RADOS_API void rados_write_op_omap_rm_range2(rados_write_op_t write_op,
+ const char *key_begin,
+ size_t key_begin_len,
+ const char *key_end,
+ size_t key_end_len);
+
/**
* Remove all key/value pairs from an object
*
}
LIBRADOS_C_API_BASE_DEFAULT(rados_write_op_omap_rm_keys2);
+extern "C" void _rados_write_op_omap_rm_range2(rados_write_op_t write_op,
+ const char *key_begin,
+ size_t key_begin_len,
+ const char *key_end,
+ size_t key_end_len)
+{
+ tracepoint(librados, rados_write_op_omap_rm_range_enter,
+ write_op, key_begin, key_end);
+ ((::ObjectOperation *)write_op)->omap_rm_range({key_begin, key_begin_len},
+ {key_end, key_end_len});
+ tracepoint(librados, rados_write_op_omap_rm_range_exit);
+}
+LIBRADOS_C_API_BASE_DEFAULT(rados_write_op_omap_rm_range2);
+
extern "C" void _rados_write_op_omap_clear(rados_write_op_t write_op)
{
tracepoint(librados, rados_write_op_omap_clear_enter, write_op);
TP_FIELDS()
)
+TRACEPOINT_EVENT(librados, rados_write_op_omap_rm_range_enter,
+ TP_ARGS(
+ rados_write_op_t, op,
+ const char*, key_begin,
+ const char*, key_end),
+ TP_FIELDS(
+ ctf_integer_hex(rados_write_op_t, op, op)
+ ceph_ctf_string(key_begin, key_begin)
+ ceph_ctf_string(key_end, key_end)
+ )
+)
+
+TRACEPOINT_EVENT(librados, rados_write_op_omap_rm_range_exit,
+ TP_ARGS(),
+ TP_FIELDS()
+)
+
TRACEPOINT_EVENT(librados, rados_write_op_omap_clear_enter,
TP_ARGS(
rados_write_op_t, op),