> "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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/