Does UFS2 send BIO_FLUSH to GEOM when update metadata (with softupdates)?

Kostik Belousov kostikbel at gmail.com
Fri Nov 25 11:38:03 UTC 2011


On Fri, Nov 25, 2011 at 12:02:35PM +0100, Pawel Jakub Dawidek wrote:
> On Wed, Nov 23, 2011 at 09:44:44PM +0200, Kostik Belousov wrote:
> > On Wed, Nov 23, 2011 at 11:00:26PM +0400, Lev Serebryakov wrote:
> > > Hello, Freebsd-fs.
> > > 
> > >   Does UFS2 with softupdates (without journal) issues BIO_FLUSH to
> > > GEOM layer when it need to ensure consistency on on-disk metadata?
> > No. Softupdates do not need flushes.
> 
> Well, they do for two reasons:
> 1. To properly handle sync operations (fsync(2), O_SYNC).
> 2. To maintain consistent on-disk structures.
> 
> The second point is there, because BIO_FLUSH is the only way to avoid
> reordering (apart from turning off disk write cache).
> 
> SU assumes no I/O reordering will happen, which is very weak assumption.
You are not saying the whole truth there.

SU only depends on the device reporting the finished write to not lie.
The disk layer performing reordering of the writes, or device itself
reordering (but properly reported with some tagging, e.g. NCQ) are
very much fine with SU.

Harware that reports finished write and not making the data to stable
storage, or software driver that does such thing itself are just
utterly broken.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20111125/8a071f0e/attachment.pgp


More information about the freebsd-fs mailing list