From owner-freebsd-current@FreeBSD.ORG Tue Nov 1 17:15:00 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6629B1065676; Tue, 1 Nov 2011 17:15:00 +0000 (UTC) (envelope-from jmg@h2.funkthat.com) Received: from h2.funkthat.com (gate.funkthat.com [70.36.235.232]) by mx1.freebsd.org (Postfix) with ESMTP id E0FC68FC18; Tue, 1 Nov 2011 17:14:59 +0000 (UTC) Received: from h2.funkthat.com (localhost [127.0.0.1]) by h2.funkthat.com (8.14.3/8.14.3) with ESMTP id pA1HExLG004262 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 1 Nov 2011 10:14:59 -0700 (PDT) (envelope-from jmg@h2.funkthat.com) Received: (from jmg@localhost) by h2.funkthat.com (8.14.3/8.14.3/Submit) id pA1HExj3004261; Tue, 1 Nov 2011 10:14:59 -0700 (PDT) (envelope-from jmg) Date: Tue, 1 Nov 2011 10:14:59 -0700 From: John-Mark Gurney To: Alexander Motin Message-ID: <20111101171459.GY25601@funkthat.com> Mail-Followup-To: Alexander Motin , Pawel Jakub Dawidek , freebsd-current@freebsd.org, freebsd-geom@freebsd.org References: <4EAF00A6.5060903@FreeBSD.org> <20111101123944.GC4567@garage.freebsd.pl> <4EAFEEA1.80500@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4EAFEEA1.80500@FreeBSD.org> User-Agent: Mutt/1.4.2.3i X-Operating-System: FreeBSD 7.2-RELEASE i386 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.2.2 (h2.funkthat.com [127.0.0.1]); Tue, 01 Nov 2011 10:14:59 -0700 (PDT) Cc: freebsd-current@freebsd.org, Pawel Jakub Dawidek , freebsd-geom@freebsd.org Subject: Re: RFC: GEOM MULTIPATH rewrite X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Nov 2011 17:15:00 -0000 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."