]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc: guard op->on_notify_finish with lock 21834/head
authorKefu Chai <kchai@redhat.com>
Sun, 6 May 2018 03:11:16 +0000 (11:11 +0800)
committerKefu Chai <kchai@redhat.com>
Sun, 6 May 2018 03:13:02 +0000 (11:13 +0800)
Fixes: http://tracker.ceph.com/issues/23966
Signed-off-by: Kefu Chai <kchai@redhat.com>
src/osdc/Objecter.cc

index 20d5b682e9030970a40a41a6befc6d856e65ea23..67378542033f3a587e8b94a3082939c4c9a2edd4 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;