]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: In _cancel_linger_op, it should make num_unacked/num_committed decrease.
authorJianpeng Ma <jianpeng.ma@intel.com>
Tue, 1 Sep 2015 07:12:02 +0000 (15:12 +0800)
committerLoic Dachary <ldachary@redhat.com>
Fri, 2 Oct 2015 13:38:42 +0000 (15:38 +0200)
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit 36b62710ddef0ffaee25837a92ca1ac9b353ff05)

src/osdc/Objecter.cc

index 683eacc75d0b439326cdd26571f69a5cba67cd58..d318d18e7958d533cbc22f324c0e3bb52f01db54 100644 (file)
@@ -2682,9 +2682,15 @@ void Objecter::_cancel_linger_op(Op *op)
   ldout(cct, 15) << "cancel_op " << op->tid << dendl;
 
   assert(!op->should_resend);
-  delete op->onack;
-  delete op->oncommit;
-  delete op->oncommit_sync;
+  if (op->onack) {
+    delete op->onack;
+    num_unacked.dec();
+  }
+  if (op->oncommit || op->oncommit_sync) {
+    delete op->oncommit;
+    delete op->oncommit_sync;
+    num_uncommitted.dec();
+  }
 
   _finish_op(op);
 }