Date: Fri, 8 Oct 2010 00:21:54 +0200 From: Hywel Mallett <hywel@hmallett.co.uk> To: Carl <k0802647@telus.net> Cc: "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org> Subject: Re: Should gmirrored gjournal provider have auto-synchronization? Message-ID: <4813F683-1FF0-4DC4-9BC0-A512258C81CA@hmallett.co.uk> In-Reply-To: <4CAD6A44.8010707@telus.net> References: <4CAD6A44.8010707@telus.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 7 Oct 2010, at 08:35, Carl <k0802647@telus.net> 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.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4813F683-1FF0-4DC4-9BC0-A512258C81CA>