Segmentation fault can occur because
cancel_manifest_ops must call callback without checking
nullptr even though ManifestOp can be used with null callback
in start_dedup()
Signed-off-by: Myoungwon Oh <myoungwon.oh@samsumg.com>
// raced with cancel_manifest_ops
return;
}
- it->second->cb->complete(r);
+ if (it->second->cb) {
+ it->second->cb->complete(r);
+ }
pg->manifest_ops.erase(it);
mop.reset();
}
tids->push_back(mop->objecter_tid);
mop->objecter_tid = 0;
}
- mop->cb->set_requeue(requeue);
- mop->cb->complete(-ECANCELED);
+ if (mop->cb) {
+ mop->cb->set_requeue(requeue);
+ mop->cb->complete(-ECANCELED);
+ }
manifest_ops.erase(p++);
}
}