Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Apr 2007 22:30:34 -0500
From:      Eric Anderson <anderson@freebsd.org>
To:        Ivan Voras <ivoras@fer.hr>
Cc:        freebsd-geom@freebsd.org
Subject:   Re: gjournal & async
Message-ID:  <462AD6DA.1070203@freebsd.org>
In-Reply-To: <f0eb3i$97s$2@sea.gmane.org>
References:  <f0eb3i$97s$2@sea.gmane.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 04/21/07 19:43, Ivan Voras wrote:
> How does gjournal guarantee corectness if UFS is mounted async? AFAIK
> the "async" handling of IO requests is done by the UFS, the writes are
> not rescheduled at the GEOM layer?
> 


I'm slightly guessing here that it can guarantee consistency because 
async writes may not have made it to the disk (the journal), and when 
gjournal replays the journal, it syncs the file system (flushing all the 
writes to disk first), then writes the journaled data to the consistent 
file system image.  So, a write that is claimed as 'completed' to the 
process by the kernel, may still be in memory, and only partially 
written to the journal, or not at all.  Either way, if an unclean 
unmount of the filesystem occurs, it's either lost completely, a partial 
journal write (so should be tossed anyway), or a complete journal entry 
synced down just before journal switch.


Eric




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?462AD6DA.1070203>