Re: [PATCH] ide write barrier support

From: Matthias Andree
Date: Mon Oct 20 2003 - 19:48:42 EST


On Fri, 17 Oct 2003, Jens Axboe wrote:

> On Fri, Oct 17 2003, Manfred Spraul wrote:
> > Jens wrote:
> >
> > >The problem is that as far as I can see the best way to make fsync
> > >really work is to make the last write a barrier write. That
> > >automagically gets everything right for you - when the last block goes
> > >to disk, you know the previous ones have already. And when the last
> > >block completes, you know the whole lot is on platter.
> > >
> > Are you sure?
> > What prevents the io scheduler from writing the last block before other
> > blocks?
>
> Very sure, the io scheduler will never put the barrier write before
> previously comitted writes. So yes, it will work as described.

If the "last block" is special however (containing a "complete" marker
for instance), the order needs to be:

write1 write2 write3 write4 barrier write-last barrier

This will guarantee write-last will happen after write4.

The drive is free to permute the order of write1 ... write4, no?

Manfred, was that your idea?

--
Matthias Andree

Encrypt your mail: my GnuPG key ID is 0x052E7D95
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/