From owner-freebsd-fs@FreeBSD.ORG Thu Oct 7 23:02:18 2010 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 031CD1065670 for ; Thu, 7 Oct 2010 23:02:18 +0000 (UTC) (envelope-from hywel@hmallett.co.uk) Received: from lisbon.directrouter.com (lisbon.directrouter.com [72.249.30.130]) by mx1.freebsd.org (Postfix) with ESMTP id C893E8FC14 for ; Thu, 7 Oct 2010 23:02:17 +0000 (UTC) Received: from [88.87.193.130] (helo=[192.168.49.80]) by lisbon.directrouter.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1P3ytJ-0004Cy-Rm; Thu, 07 Oct 2010 17:24:46 -0500 References: <4CAD6A44.8010707@telus.net> In-Reply-To: <4CAD6A44.8010707@telus.net> Mime-Version: 1.0 (iPhone Mail 8B117) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Message-Id: <4813F683-1FF0-4DC4-9BC0-A512258C81CA@hmallett.co.uk> X-Mailer: iPhone Mail (8B117) From: Hywel Mallett Date: Fri, 8 Oct 2010 00:21:54 +0200 To: Carl X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - lisbon.directrouter.com X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - hmallett.co.uk X-Source: X-Source-Args: X-Source-Dir: Cc: "freebsd-fs@freebsd.org" Subject: Re: Should gmirrored gjournal provider have auto-synchronization? X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Oct 2010 23:02:18 -0000 On 7 Oct 2010, at 08:35, Carl wrote: > Suppose I've used a pair of drives laid out with GPT partitions to create a= mirror. Actually, this situation requires that individual partitions be mir= rored instead of the whole drive. Then suppose one of these partitions is to= be gjournaled, but with separate data and journal providers. The separate j= ournal provider will be in another partition. >=20 > I believe I should gmirror the journal provider partition just as I did th= e data provider partition. Correct me if this is wrong. I would gmirror the journal. If it "goes away" unexpectedly, that won't be g= ood for gjournal. I assume it'll panic.=20 > Then, should I be enabling or disabling auto-synchronization for the mirro= red journal provider partition? It is clear to me that it should be disabled= for the mirrored data provider partition because the journaling will ensure= data consistency, but is the content of the journal provider itself guarant= eed consistent under all circumstances? That's an interesting question. I think you're correct that you should be ab= le to disable auto-sync for the data slice, provided that gmirror returns a w= rite as succeeded only when it has been written to both parts of the mirror.= If not, then you could theoretically end up with a situation where data has= only been written to one half of the mirror, but the write has been returne= d as successful, and gjournal won't re-write the data, which would leave you= with an unsynchronized mirror.=20 With gmirror, when you say "guaranteed consistent", you may need to qualify t= hat more. gmirror guarantees that a collection of writes either happens in i= t's entirety, or not at all. If you have for example an msdosfs on top of th= is, there's no guarantee of consistency anyway. With ufs + softupdates, it s= hould guarantee consistency anyway, but the journal allows certain operation= s to be shortcutted.=