diff options
Diffstat (limited to 'src/librados/librados_util.h')
-rw-r--r-- | src/librados/librados_util.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/librados/librados_util.h b/src/librados/librados_util.h new file mode 100644 index 000000000..ab9c461f4 --- /dev/null +++ b/src/librados/librados_util.h @@ -0,0 +1,34 @@ +#include <cstdint> +#include "acconfig.h" +#include "include/rados/librados.h" +#include "IoCtxImpl.h" + +#ifdef WITH_LTTNG +#include "tracing/librados.h" +#else +#define tracepoint(...) +#endif + +uint8_t get_checksum_op_type(rados_checksum_type_t type); +int get_op_flags(int flags); +int translate_flags(int flags); + +struct librados::ObjListCtx { + librados::IoCtxImpl dupctx; + librados::IoCtxImpl *ctx; + Objecter::NListContext *nlc; + bool legacy_list_api; + + ObjListCtx(IoCtxImpl *c, Objecter::NListContext *nl, bool legacy=false) + : nlc(nl), + legacy_list_api(legacy) { + // Get our own private IoCtxImpl so that namespace setting isn't + // changed by caller between uses. + ctx = &dupctx; + dupctx.dup(*c); + } + ~ObjListCtx() { + ctx = NULL; + delete nlc; + } +}; |