X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fcls%2Fversion%2Fcls_version_client.cc;fp=src%2Fceph%2Fsrc%2Fcls%2Fversion%2Fcls_version_client.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=36726d6cccb6089cf2a70babe3be569398d21c75;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/cls/version/cls_version_client.cc b/src/ceph/src/cls/version/cls_version_client.cc deleted file mode 100644 index 36726d6..0000000 --- a/src/ceph/src/cls/version/cls_version_client.cc +++ /dev/null @@ -1,101 +0,0 @@ -#include - -#include "cls/version/cls_version_client.h" -#include "include/rados/librados.hpp" - - -using namespace librados; - - -void cls_version_set(librados::ObjectWriteOperation& op, obj_version& objv) -{ - bufferlist in; - cls_version_set_op call; - call.objv = objv; - ::encode(call, in); - op.exec("version", "set", in); -} - -void cls_version_inc(librados::ObjectWriteOperation& op) -{ - bufferlist in; - cls_version_inc_op call; - ::encode(call, in); - op.exec("version", "inc", in); -} - -void cls_version_inc(librados::ObjectWriteOperation& op, obj_version& objv, VersionCond cond) -{ - bufferlist in; - cls_version_inc_op call; - call.objv = objv; - - obj_version_cond c; - c.cond = cond; - c.ver = objv; - - call.conds.push_back(c); - - ::encode(call, in); - op.exec("version", "inc_conds", in); -} - -void cls_version_check(librados::ObjectOperation& op, obj_version& objv, VersionCond cond) -{ - bufferlist in; - cls_version_check_op call; - call.objv = objv; - - obj_version_cond c; - c.cond = cond; - c.ver = objv; - - call.conds.push_back(c); - - ::encode(call, in); - op.exec("version", "check_conds", in); -} - -class VersionReadCtx : public ObjectOperationCompletion { - obj_version *objv; -public: - explicit VersionReadCtx(obj_version *_objv) : objv(_objv) {} - void handle_completion(int r, bufferlist& outbl) override { - if (r >= 0) { - cls_version_read_ret ret; - try { - bufferlist::iterator iter = outbl.begin(); - ::decode(ret, iter); - *objv = ret.objv; - } catch (buffer::error& err) { - // nothing we can do about it atm - } - } - } -}; - -void cls_version_read(librados::ObjectReadOperation& op, obj_version *objv) -{ - bufferlist inbl; - op.exec("version", "read", inbl, new VersionReadCtx(objv)); -} - -int cls_version_read(librados::IoCtx& io_ctx, string& oid, obj_version *ver) -{ - bufferlist in, out; - int r = io_ctx.exec(oid, "version", "read", in, out); - if (r < 0) - return r; - - cls_version_read_ret ret; - try { - bufferlist::iterator iter = out.begin(); - ::decode(ret, iter); - } catch (buffer::error& err) { - return -EIO; - } - - *ver = ret.objv; - - return r; -}