// flush
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_try_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
librados::OPERATION_IGNORE_OVERLAY |
- librados::OPERATION_SKIPRWLOCKS));
+ librados::OPERATION_SKIPRWLOCKS, NULL));
completion->wait_for_safe();
ASSERT_EQ(0, completion->get_return_value());
completion->release();
// flush
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
- librados::OPERATION_IGNORE_OVERLAY));
+ librados::OPERATION_IGNORE_OVERLAY, NULL));
completion->wait_for_safe();
ASSERT_EQ(0, completion->get_return_value());
completion->release();
// flush whiteout
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
- librados::OPERATION_IGNORE_OVERLAY));
+ librados::OPERATION_IGNORE_OVERLAY, NULL));
completion->wait_for_safe();
ASSERT_EQ(0, completion->get_return_value());
completion->release();
// flush + write
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
- librados::OPERATION_IGNORE_OVERLAY));
+ librados::OPERATION_IGNORE_OVERLAY, NULL));
ObjectWriteOperation op2;
op2.write_full(bl);
// try-flush + write
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_try_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
librados::OPERATION_IGNORE_OVERLAY |
- librados::OPERATION_SKIPRWLOCKS));
+ librados::OPERATION_SKIPRWLOCKS, NULL));
ObjectWriteOperation op2;
op2.write_full(bl);
// flush + flush
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
- librados::OPERATION_IGNORE_OVERLAY));
+ librados::OPERATION_IGNORE_OVERLAY, NULL));
- ObjectWriteOperation op2;
+ ObjectReadOperation op2;
op2.cache_flush();
librados::AioCompletion *completion2 = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion2, &op2,
- librados::OPERATION_IGNORE_OVERLAY));
+ librados::OPERATION_IGNORE_OVERLAY, NULL));
completion->wait_for_safe();
completion2->wait_for_safe();
// flush + try-flush
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
- librados::OPERATION_IGNORE_OVERLAY));
+ librados::OPERATION_IGNORE_OVERLAY, NULL));
- ObjectWriteOperation op2;
+ ObjectReadOperation op2;
op2.cache_try_flush();
librados::AioCompletion *completion2 = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion2, &op2,
librados::OPERATION_IGNORE_OVERLAY |
- librados::OPERATION_SKIPRWLOCKS));
+ librados::OPERATION_SKIPRWLOCKS, NULL));
completion->wait_for_safe();
completion2->wait_for_safe();
// try-flush + flush
// (flush will not piggyback on try-flush)
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_try_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
librados::OPERATION_IGNORE_OVERLAY |
- librados::OPERATION_SKIPRWLOCKS));
+ librados::OPERATION_SKIPRWLOCKS, NULL));
- ObjectWriteOperation op2;
+ ObjectReadOperation op2;
op2.cache_flush();
librados::AioCompletion *completion2 = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion2, &op2,
- librados::OPERATION_IGNORE_OVERLAY));
+ librados::OPERATION_IGNORE_OVERLAY, NULL));
completion->wait_for_safe();
completion2->wait_for_safe();
// try-flush + try-flush
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_try_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
librados::OPERATION_IGNORE_OVERLAY |
- librados::OPERATION_SKIPRWLOCKS));
+ librados::OPERATION_SKIPRWLOCKS, NULL));
- ObjectWriteOperation op2;
+ ObjectReadOperation op2;
op2.cache_try_flush();
librados::AioCompletion *completion2 = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion2, &op2,
librados::OPERATION_IGNORE_OVERLAY |
- librados::OPERATION_SKIPRWLOCKS));
+ librados::OPERATION_SKIPRWLOCKS, NULL));
completion->wait_for_safe();
completion2->wait_for_safe();
test_lock.Unlock();
// try-flush
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_try_flush();
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, cache_ioctx.aio_operate(
"foo", completion, &op,
librados::OPERATION_IGNORE_OVERLAY |
- librados::OPERATION_SKIPRWLOCKS));
+ librados::OPERATION_SKIPRWLOCKS, NULL));
completion->wait_for_safe();
ASSERT_EQ(0, completion->get_return_value());
static int do_cache_flush(IoCtx& io_ctx, string oid)
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_flush();
librados::AioCompletion *completion =
librados::Rados::aio_create_completion();
io_ctx.aio_operate(oid.c_str(), completion, &op,
librados::OPERATION_IGNORE_CACHE |
- librados::OPERATION_IGNORE_OVERLAY);
+ librados::OPERATION_IGNORE_OVERLAY,
+ NULL);
completion->wait_for_safe();
int r = completion->get_return_value();
completion->release();
static int do_cache_try_flush(IoCtx& io_ctx, string oid)
{
- ObjectWriteOperation op;
+ ObjectReadOperation op;
op.cache_try_flush();
librados::AioCompletion *completion =
librados::Rados::aio_create_completion();
io_ctx.aio_operate(oid.c_str(), completion, &op,
librados::OPERATION_IGNORE_CACHE |
librados::OPERATION_IGNORE_OVERLAY |
- librados::OPERATION_SKIPRWLOCKS);
+ librados::OPERATION_SKIPRWLOCKS,
+ NULL);
completion->wait_for_safe();
int r = completion->get_return_value();
completion->release();