]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_test_rados: fix CopyFromOp locking
authorSage Weil <sage@inktank.com>
Sat, 7 Dec 2013 22:22:09 +0000 (14:22 -0800)
committerSage Weil <sage@inktank.com>
Sat, 14 Dec 2013 00:35:56 +0000 (16:35 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
src/test/osd/RadosModel.h

index e1114d4cd65e460b1e5ec973e20269718721508b..0c58827cd4473aa4c2698ca90472487e8e1c4700 100644 (file)
@@ -1438,17 +1438,17 @@ public:
       context->oid_not_in_use.erase(oid);
       context->oid_in_use.insert(oid_src);
       context->oid_not_in_use.erase(oid_src);
-    }
 
-    // choose source snap
-    if (0 && !(rand() % 4) && !context->snaps.empty()) {
-      snap = rand_choose(context->snaps)->first;
-    } else {
-      snap = -1;
+      // choose source snap
+      if (0 && !(rand() % 4) && !context->snaps.empty()) {
+       snap = rand_choose(context->snaps)->first;
+      } else {
+       snap = -1;
+      }
+      context->find_object(oid_src, &src_value, snap);
+      if (!src_value.deleted())
+       context->update_object_full(oid, src_value);
     }
-    context->find_object(oid_src, &src_value, snap);
-    if (!src_value.deleted())
-      context->update_object_full(oid, src_value);
 
     string src = context->prefix+oid_src;
     op.copy_from(src.c_str(), context->io_ctx, src_value.version);