hi all When the notify payload of snap create is sent to watchers. Only the exclusive locker owner can send snap create request to osd. But here https://github.com/ceph/ceph/blob/master/src/librbd/ImageWatcher.cc#L819 It is not estimate whether it is owner. I do not why, can someone explain more about this? Thanks. May be i miss something? Or i do not understand it correctly. Thanks a lot. template <typename I> bool ImageWatcher<I>::handle_payload(const SnapCreatePayload &payload, C_NotifyAck *ack_ctx) { RWLock::RLocker l(m_image_ctx.owner_lock); if (m_image_ctx.exclusive_lock != nullptr) {// here..... int r; if (m_image_ctx.exclusive_lock->accept_requests(&r)) { ldout(m_image_ctx.cct, 10) << this << " remote snap_create request: " << payload.snap_name << dendl; m_image_ctx.operations->execute_snap_create(payload.snap_name, new C_ResponseMessage(ack_ctx), 0, false); return false; } else if (r < 0) { ::encode(ResponseMessage(r), ack_ctx->out); } } return true; } -- 谦谦君子 -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html