#include <errno.h>
#include "test/librados/test.h"
#include "test/librados/TestCase.h"
+#include "include/scope_guard.h"
using namespace librados;
rados_ioctx_snap_set_read(ioctx, LIBRADOS_SNAP_HEAD);
rados_ioctx_set_namespace(ioctx, LIBRADOS_ALL_NSPACES);
rados_list_ctx_t list_ctx;
+
ASSERT_EQ(0, rados_nobjects_list_open(ioctx, &list_ctx));
+ auto sg = make_scope_guard([&] { rados_nobjects_list_close(list_ctx); });
+
int r;
const char *entry = NULL;
const char *key = NULL;
rados_ioctx_set_namespace(ioctx, nspace);
ASSERT_EQ(0, rados_remove(ioctx, entry));
}
- rados_nobjects_list_close(list_ctx);
}
std::string RadosTestPPNS::pool_name;
rados_ioctx_snap_set_read(ioctx, LIBRADOS_SNAP_HEAD);
rados_ioctx_set_namespace(ioctx, ns.c_str());
rados_list_ctx_t list_ctx;
+
ASSERT_EQ(0, rados_nobjects_list_open(ioctx, &list_ctx));
+ auto sg = make_scope_guard([&] { rados_nobjects_list_close(list_ctx); });
+
int r;
const char *entry = NULL;
const char *key = NULL;
rados_ioctx_locator_set_key(ioctx, key);
ASSERT_EQ(0, rados_remove(ioctx, entry));
}
- rados_nobjects_list_close(list_ctx);
}
std::string RadosTestPP::pool_name;
ioctx.locator_set_key(it->get_locator());
ObjectWriteOperation op;
op.remove();
+
librados::AioCompletion *completion = s_cluster.aio_create_completion();
+ auto sg = make_scope_guard([&] { completion->release(); });
+
ASSERT_EQ(0, ioctx.aio_operate(it->get_oid(), completion, &op,
librados::OPERATION_IGNORE_CACHE));
completion->wait_for_safe();
ASSERT_EQ(0, completion->get_return_value());
- completion->release();
}
}