Date: Tue, 1 Nov 2011 10:14:59 -0700 From: John-Mark Gurney <jmg@funkthat.com> To: Alexander Motin <mav@freebsd.org> Cc: freebsd-current@freebsd.org, Pawel Jakub Dawidek <pjd@freebsd.org>, freebsd-geom@freebsd.org Subject: Re: RFC: GEOM MULTIPATH rewrite Message-ID: <20111101171459.GY25601@funkthat.com> In-Reply-To: <4EAFEEA1.80500@FreeBSD.org> References: <4EAF00A6.5060903@FreeBSD.org> <20111101123944.GC4567@garage.freebsd.pl> <4EAFEEA1.80500@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111101171459.GY25601>
