]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc: guard op->on_notify_finish with lock 21831/head
authorKefu Chai <kchai@redhat.com>
Sun, 6 May 2018 03:11:16 +0000 (11:11 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 9 May 2018 13:04:08 +0000 (21:04 +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 9fac46585330a485c41d1c71a8b7aa5134ed8ae0..6898c16f6792b7c120643c54634fd6020b6b7ecc 100644 (file)
@@ -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;