Alexander Motin wrote this message on Tue, Nov 01, 2011 at 15:05 +0200: > > 2. In active/active mode do you do anything to handle possible > > reordering? Ie. if you have overlapping writes and send both of them > > using different paths, you cannot be sure that order will be > > preserved. Most of the time that's not a problem, as file systems > > rarely if at all send overlapping writes to device, but this is weak > > assumption. > > No, I don't. I have doubt that it is sane to send even dependent I/O > simultaneously without waiting for completion, not speaking about > overlapping. When most of present devices support command queuing and so > officially justify reordering simultaneous commands in custom way, I am > not sure why above layers should be more strict, especially in cases > when it is problematic. If somebody have ideas why and how to implement > it, I am ready to discuss. I know that phk and others have an idea what the contract for writes like this, but I just checked geom(4) and the IO section doesn't describe it.. I believe that you should not submit overlapping writes unless it's preceded or is an _ORDERED write, and that reads can be satisifed w/ stale data if it is submitted after a write of the same location, but it's not in geom(4). Hmm... turns out BIO_ORDERED isn't even documented in geom(4)... I'm willing to put some of this in the man page if someone comes up w/ a good list of points. Are the ones I listed above enough? -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."Received on Tue Nov 01 2011 - 16:15:00 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:19 UTC