]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cls_version: various fixes
authorYehuda Sadeh <yehuda@inktank.com>
Wed, 27 Feb 2013 02:00:59 +0000 (18:00 -0800)
committerYehuda Sadeh <yehuda@inktank.com>
Wed, 8 May 2013 17:54:54 +0000 (10:54 -0700)
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
src/cls/version/cls_version.cc
src/cls/version/cls_version_client.cc
src/cls/version/cls_version_client.h

index bb79caa1767f1dde2d4d8a1a482ae4266ba024c3..baecc248a22dfc6dc92dd25f4c9f3d4c3932ba59 100644 (file)
@@ -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;
index 0aaa7a76b1037d0902d4d97f945a64621ca61619..b0b81653f1f7d5e669b6263eb0d4b8b85fa36b0a 100644 (file)
@@ -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)
index 648254d912edc31367a756e378968294dcc2702f..b11ea4fd37d7d9de29322bb267ee0dab85525cd7 100644 (file)
@@ -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