From: Jason Dillaman Date: Wed, 25 Apr 2018 17:23:00 +0000 (-0400) Subject: osdc/Objecter: prevent double-invocation of linger op callback X-Git-Tag: v12.2.6~163^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=074a2806e43043ac9cf3de9e72acbd8df1937bd8;p=ceph.git osdc/Objecter: prevent double-invocation of linger op callback Fixes: http://tracker.ceph.com/issues/23872 Signed-off-by: Jason Dillaman (cherry picked from commit 1bc6f31f8f5ce33176b8a346492b087728947a71) --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index 18ec1cf0d1839..0393be268ae3d 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -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; }