> It needs to do this [flush disc cache after committing journal] because > it needs to make sure that journal data are saved before we save the > journal commit block. So the point is to force an order (data before commit block).
> Implicitly, the pre-commit flush also makes sure that all asynchronously > written metadata updates are written to the media, before the commit makes > them impossible to replay. So the point is do force an order (metadata before journal). > Even SCSI ORDERED tags wouldn't help to avoid the need for cache flushes. So why that if the point of the cache flushes is to ensure an order?