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: v10.2.11~21^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=f41be93f835e5ba1997fe7012216c6abf456a270;p=ceph.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 90538590e5d8f..6533a7c2523b7 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -1529,6 +1529,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); }