From: Kefu Chai Date: Sun, 6 May 2018 03:11:16 +0000 (+0800) Subject: osdc: guard op->on_notify_finish with lock X-Git-Tag: v14.0.0~161^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=7fbb48513843bb2b191d535708827770bf1d0eba;p=ceph-ci.git osdc: guard op->on_notify_finish with lock Fixes: http://tracker.ceph.com/issues/23966 Signed-off-by: Kefu Chai (cherry picked from commit c16371965cc785f2e2b87d8c6684854fa2de65e1) --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index 9fac4658533..6898c16f679 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -1654,6 +1654,7 @@ void Objecter::_check_linger_pool_dne(LingerOp *op, bool *need_unregister) } if (op->map_dne_bound > 0) { if (osdmap->get_epoch() >= op->map_dne_bound) { + LingerOp::unique_lock wl{op->watch_lock}; if (op->on_reg_commit) { op->on_reg_commit->complete(-ENOENT); op->on_reg_commit = nullptr;