From: Jason Dillaman Date: Tue, 25 Aug 2015 19:45:28 +0000 (-0400) Subject: cls_rbd: dir_rename_image is now async X-Git-Tag: v10.0.2~193^2~15 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5e20ffe907e2b94497e88f315bd0d008ee762cd1;p=ceph.git cls_rbd: dir_rename_image is now async Signed-off-by: Jason Dillaman --- diff --git a/src/cls/rbd/cls_rbd_client.cc b/src/cls/rbd/cls_rbd_client.cc index 31a31a445b1..be0c256c164 100644 --- a/src/cls/rbd/cls_rbd_client.cc +++ b/src/cls/rbd/cls_rbd_client.cc @@ -807,15 +807,15 @@ struct C_ObjectMapLoad : public Context { return ioctx->exec(oid, "rbd", "dir_remove_image", in, out); } - int dir_rename_image(librados::IoCtx *ioctx, const std::string &oid, + void dir_rename_image(librados::ObjectWriteOperation *op, const std::string &src, const std::string &dest, const std::string &id) { - bufferlist in, out; + bufferlist in; ::encode(src, in); ::encode(dest, in); ::encode(id, in); - return ioctx->exec(oid, "rbd", "dir_rename_image", in, out); + op->exec("rbd", "dir_rename_image", in); } int object_map_load(librados::IoCtx *ioctx, const std::string &oid, diff --git a/src/cls/rbd/cls_rbd_client.h b/src/cls/rbd/cls_rbd_client.h index 98bd1cfcb1f..34af5427a32 100644 --- a/src/cls/rbd/cls_rbd_client.h +++ b/src/cls/rbd/cls_rbd_client.h @@ -122,9 +122,9 @@ namespace librbd { int dir_remove_image(librados::IoCtx *ioctx, const std::string &oid, const std::string &name, const std::string &id); // atomic remove and add - int dir_rename_image(librados::IoCtx *ioctx, const std::string &oid, - const std::string &src, const std::string &dest, - const std::string &id); + void dir_rename_image(librados::ObjectWriteOperation *op, + const std::string &src, const std::string &dest, + const std::string &id); // operations on the rbd_object_map.$image_id object int object_map_load(librados::IoCtx *ioctx, const std::string &oid,