]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: revert d427ca35404a30e1f428859c3274e030f2f83ef6 3457/head
authorDong Yuan <yuandong1222@gmail.com>
Tue, 20 Jan 2015 09:23:53 +0000 (09:23 +0000)
committerSamuel Just <sjust@redhat.com>
Tue, 20 Jan 2015 21:17:24 +0000 (13:17 -0800)
d427ca35404a30e1f428859c3274e030f2f83ef6 reversed the order of localt
and op_t, while some logic depends on the order of localt and op_t.

This commit revert d427ca35404a30e1f428859c3274e030f2f83ef6.

Fix http://tracker.ceph.com/issues/10534.

Change-Id: I5adba561d10274e3d12f89418a755c39e5e5f086
Signed-off-by: Dong Yuan <yuandong1222@gmail.com>
src/osd/ReplicatedBackend.cc
src/osd/ReplicatedPG.cc

index 3a76a65e458d760ca309013d4683d040cfec07ed..d15267291f8069a0267beb10420c542bdf307365 100644 (file)
@@ -586,7 +586,9 @@ void ReplicatedBackend::submit_transaction(
     trim_rollback_to,
     true,
     &local_t);
-  (*op_t).append(local_t);
+
+  local_t.append(*op_t);
+  local_t.swap(*op_t);
   
   op_t->register_on_applied_sync(on_local_applied_sync);
   op_t->register_on_applied(
index 904119e27027fd04df147e0f40db8c295218a488..bf2ec506305999a65d18e51cdd5d39889d96d9ea 100644 (file)
@@ -8443,14 +8443,14 @@ void ReplicatedBackend::sub_op_modify_impl(OpRequestRef op)
   
   op->mark_started();
 
-  rm->opt.append(rm->localt);
-  rm->opt.register_on_commit(
+  rm->localt.append(rm->opt);
+  rm->localt.register_on_commit(
     parent->bless_context(
       new C_OSD_RepModifyCommit(this, rm)));
-  rm->opt.register_on_applied(
+  rm->localt.register_on_applied(
     parent->bless_context(
       new C_OSD_RepModifyApply(this, rm)));
-  parent->queue_transaction(&(rm->opt), op);
+  parent->queue_transaction(&(rm->localt), op);
   // op is cleaned up by oncommit/onapply when both are executed
 }