Hi Maged, On Mon, 19 Mar 2018 01:43:38 +0200, Maged Mokhtar wrote: > 2) Guarded OSD Write Operations > We need to add new versions of CEPH_OSD_OP_WRITE/CEPH_OSD_OP_WRITESAME.. > ops or support hints with existing versions to pass a source operation > time. A configurable timeout on the OSD server (osd_stale_op_timeout ?) > will be used to reject stale write operations. A suggested default value > of 10 sec. False negatives not due to stale io will fail but will be > retried by client. Any operation time received in the future (greater > than ntp max skew) should be rejected. These new operations are generic > enough and may be used outside of iSCSI. I think a RADOS class function that offers request expiration on the OSD would be helpful. However, aside from concerns around the client time synchronisation dependence, I'm a little unsure how this should be handled on the RBD client / iSCSI gw side. Prepending the expiry operation to the OSD request prior to a write op would only catch stale requests while being queued at the OSD, the subsequent write operation could still be handled well after expiry. Ideally the expiration check would be performed after the write, with rollback occurring on expiry. Cheers, David -- 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