]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: prevent double-invocation of linger op callback 21752/head
authorJason Dillaman <dillaman@redhat.com>
Wed, 25 Apr 2018 17:23:00 +0000 (13:23 -0400)
committerPrashant D <pdhange@redhat.com>
Tue, 1 May 2018 10:44:44 +0000 (06:44 -0400)
Fixes: http://tracker.ceph.com/issues/23872
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 1bc6f31f8f5ce33176b8a346492b087728947a71)

src/osdc/Objecter.cc

index 18ec1cf0d1839d1b8f81331cfc14b2f03755b992..0393be268ae3d44ac91d9e600f4dbb080c59c090 100644 (file)
@@ -1641,6 +1641,7 @@ void Objecter::_check_linger_pool_dne(LingerOp *op, bool *need_unregister)
     if (osdmap->get_epoch() >= op->map_dne_bound) {
       if (op->on_reg_commit) {
        op->on_reg_commit->complete(-ENOENT);
+       op->on_reg_commit = nullptr;
       }
       *need_unregister = true;
     }