]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc: guard op->on_notify_finish with lock
authorKefu Chai <kchai@redhat.com>
Sun, 6 May 2018 03:11:16 +0000 (11:11 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 23 May 2018 16:17:46 +0000 (00:17 +0800)
Fixes: http://tracker.ceph.com/issues/23966
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit c16371965cc785f2e2b87d8c6684854fa2de65e1)

src/osdc/Objecter.cc

index 90538590e5d8f0ff49b9a9387d668f9311cc1c38..6533a7c2523b72365ce7a6e0593607770626f298 100644 (file)
@@ -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);
       }