From 8d7d436d532c8b8256beddf9eae626eefbcab0f5 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Tue, 26 Feb 2013 18:00:59 -0800 Subject: [PATCH] cls_version: various fixes Signed-off-by: Yehuda Sadeh --- src/cls/version/cls_version.cc | 4 ++-- src/cls/version/cls_version_client.cc | 2 +- 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 bb79caa1767f1..baecc248a22df 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 0aaa7a76b1037..b0b81653f1f7d 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 648254d912edc..b11ea4fd37d7d 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 -- 2.39.5