diff options
author | Yehuda Sadeh <yehuda@inktank.com> | 2013-02-26 18:00:59 -0800 |
---|---|---|
committer | Yehuda Sadeh <yehuda@inktank.com> | 2013-03-22 11:23:58 -0700 |
commit | 1fa0a82a34010dfdb5c08ad7653e08910f7bba60 (patch) | |
tree | bcb873141ad6220f1e62c23f5713200d7d34b44d | |
parent | 686b596c3e800ec6fe805c246c8086e03a07669b (diff) | |
download | ceph-1fa0a82a34010dfdb5c08ad7653e08910f7bba60.tar.gz |
cls_version: various fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
-rw-r--r-- | src/cls/version/cls_version.cc | 4 | ||||
-rw-r--r-- | src/cls/version/cls_version_client.cc | 2 | ||||
-rw-r--r-- | src/cls/version/cls_version_client.h | 8 |
3 files changed, 8 insertions, 6 deletions
diff --git a/src/cls/version/cls_version.cc b/src/cls/version/cls_version.cc index bb79caa1767..baecc248a22 100644 --- a/src/cls/version/cls_version.cc +++ b/src/cls/version/cls_version.cc @@ -167,7 +167,7 @@ static int cls_version_inc(cls_method_context_t hctx, bufferlist *in, bufferlist return ret; if (!check_conds(op.conds, objv)) { - return -EAGAIN; + return -ECANCELED; } objv.inc(); @@ -196,7 +196,7 @@ static int cls_version_check(cls_method_context_t hctx, bufferlist *in, bufferli return ret; if (!check_conds(op.conds, objv)) { - return -EAGAIN; + return -ECANCELED; } return 0; diff --git a/src/cls/version/cls_version_client.cc b/src/cls/version/cls_version_client.cc index 0aaa7a76b10..b0b81653f1f 100644 --- a/src/cls/version/cls_version_client.cc +++ b/src/cls/version/cls_version_client.cc @@ -37,7 +37,7 @@ void cls_version_inc(librados::ObjectWriteOperation& op, obj_version& objv, Vers call.conds.push_back(c); ::encode(call, in); - op.exec("version", "inc_cond", in); + op.exec("version", "inc_conds", in); } void cls_version_check(librados::ObjectOperation& op, obj_version& objv, VersionCond cond) diff --git a/src/cls/version/cls_version_client.h b/src/cls/version/cls_version_client.h index 648254d912e..b11ea4fd37d 100644 --- a/src/cls/version/cls_version_client.h +++ b/src/cls/version/cls_version_client.h @@ -13,9 +13,11 @@ void cls_version_set(librados::ObjectWriteOperation& op, obj_version& ver); /* increase anyway */ void cls_version_inc(librados::ObjectWriteOperation& op); -/* inc only if ver matches (if not empty), otherwise return -EAGAIN */ -void cls_version_inc_conditional(librados::ObjectWriteOperation& op, obj_version& ver); +/* conditional increase, return -EAGAIN if condition fails */ +void cls_version_inc(librados::ObjectWriteOperation& op, obj_version& ver, VersionCond cond); -int cls_refcount_read(librados::IoCtx& io_ctx, obj_version *ver); +int cls_version_read(librados::IoCtx& io_ctx, string& oid, obj_version *ver); + +void cls_version_check(librados::ObjectOperation& op, obj_version& ver, VersionCond cond); #endif |