See https://github.com/ceph/ceph/pull/12607
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
virtual void finish(int r) {
c->lock.Lock();
c->rval = r;
- c->ack = true;
- c->safe = true;
+ c->complete = true;
c->cond.Signal();
- if (c->callback_complete) {
+ if (c->callback_complete || c->callback_safe) {
client->finisher.queue(new librados::C_AioComplete(c));
}
- if (c->callback_safe) {
- client->finisher.queue(new librados::C_AioSafe(c));
- }
c->put_unlock();
}
};