Re: Journaling pointless with today's hard disks?

H. Peter Anvin
2001-11-27T01:16:04Z

Andrew Morton wrote:

> "H. Peter Anvin" wrote:
>
>>Followup to: <9tumf0$dvr$1@cesium.transmeta.com>
>>By author: "H. Peter Anvin" <hpa@zytor.com>
>>In newsgroup: linux.dev.kernel
>>
>>>Indeed; having explicit write barriers would be a very useful feature,
>>>but the drives MUST default to strict ordering unless reordering (with
>>>write barriers) have been enabled explicitly by the OS.
>>>
>>>
>>On the subject of write barriers... such a setup probably should have
>>a serial number field for each write barrier command, and a "WAIT FOR
>>WRITE BARRIER NUMBER #" command -- which will wait until all writes
>>preceeding the specified write barrier has been committed to stable
>>storage. It might also be worthwhile to have the equivalent
>>nonblocking operation -- QUERY LAST WRITE BARRIER COMMITTED.
>>
>>
>
> For ext3 at least, all that is needed is a barrier which says
> "don't reorder writes across here". Asynchronous behaviour
> beyond that is OK - the disk is free to queue multiple transactions
> internally as long as the barriers are observed. If the power
> goes out we'll just recover up to and including the last-written
> commit block.
>

Waiting for write barriers to clear is key to implementing fsync()
efficiently and correctly.

-hpa