]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: prevent double-invocation of linger op callback 21754/head
authorJason Dillaman <dillaman@redhat.com>
Wed, 25 Apr 2018 17:23:00 +0000 (13:23 -0400)
committerPrashant D <pdhange@redhat.com>
Wed, 2 May 2018 05:58:45 +0000 (01:58 -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 44d45f8d5b9673152d8c8b8b2685648d7426b1fe..151f883337a4e4d89e629365d52dd34432f9041d 100644 (file)
@@ -1527,6 +1527,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;
     }