The synchronous remove exists in both versions, with and without flags, but the asynchronous one did not. I've only fixed this disymetry
Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
* other than SNAP_HEAD
*/
int aio_remove(const std::string& oid, AioCompletion *c);
+ int aio_remove(const std::string& oid, AioCompletion *c, int flags);
/**
* Wait for all currently pending aio writes to be safe.
return 0;
}
-int librados::IoCtxImpl::aio_remove(const object_t &oid, AioCompletionImpl *c)
+int librados::IoCtxImpl::aio_remove(const object_t &oid, AioCompletionImpl *c, int flags)
{
auto ut = ceph::real_clock::now(client->cct);
Objecter::Op *o = objecter->prepare_remove_op(
oid, oloc,
- snapc, ut, 0,
+ snapc, ut, flags,
onack, onsafe, &c->objver);
objecter->op_submit(o, &c->tid);
const bufferlist& bl);
int aio_writesame(const object_t &oid, AioCompletionImpl *c,
const bufferlist& bl, size_t write_len, uint64_t off);
- int aio_remove(const object_t &oid, AioCompletionImpl *c);
+ int aio_remove(const object_t &oid, AioCompletionImpl *c, int flags=0);
int aio_exec(const object_t& oid, AioCompletionImpl *c, const char *cls,
const char *method, bufferlist& inbl, bufferlist *outbl);
int aio_stat(const object_t& oid, AioCompletionImpl *c, uint64_t *psize, time_t *pmtime);
return io_ctx_impl->aio_remove(oid, c->pc);
}
+int librados::IoCtx::aio_remove(const std::string& oid, librados::AioCompletion *c, int flags)
+{
+ return io_ctx_impl->aio_remove(oid, c->pc, flags);
+}
+
int librados::IoCtx::aio_flush_async(librados::AioCompletion *c)
{
io_ctx_impl->flush_aio_writes_async(c->pc);