]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: prevent double-invocation of linger op callback 21649/head
authorJason Dillaman <dillaman@redhat.com>
Wed, 25 Apr 2018 17:23:00 +0000 (13:23 -0400)
committerJason Dillaman <dillaman@redhat.com>
Wed, 25 Apr 2018 17:23:00 +0000 (13:23 -0400)
Fixes: http://tracker.ceph.com/issues/23872
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/osdc/Objecter.cc

index 90de55e756adbf3c8fded7215642f19ed8af2710..ba5a4e3dbfdd078b296afc469f9c7e565af06b10 100644 (file)
@@ -1652,6 +1652,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;
     }