]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc: guard op->on_notify_finish with lock 22143/head
authorKefu Chai <kchai@redhat.com>
Sun, 6 May 2018 03:11:16 +0000 (11:11 +0800)
committerPrashant D <pdhange@redhat.com>
Mon, 21 May 2018 13:08:57 +0000 (09:08 -0400)
Fixes: http://tracker.ceph.com/issues/23966
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit c16371965cc785f2e2b87d8c6684854fa2de65e1)
(cherry picked from commit 7fbb48513843bb2b191d535708827770bf1d0eba)

src/osdc/Objecter.cc

index 5cb2aed09a591f0d9c8f24d8c3410aa084f56c41..4e99ec0bbbc25303966888a7f28897b7453f83da 100644 (file)
@@ -1643,6 +1643,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;