On Oct 31, [EMAIL PROTECTED] wrote: > Linux normal "sync" behavior looks fine for real devices. (for > non-journaled FSes)
I just want to point out, that for a journaled filesystem, once the journal blocks are committed from a logical point the filesystem is completely synced. There is no need for the driver to flush the blocks to their real location immediately. The grub reiserfs driver knows about the journal and honours it (it remaps read accesses to the blocks in the journal log if they are present there). You shouldn't see any problems with reiserfs. IMHO XFS and JFS should also honour the journal. Note that grub otherwise could have problems booting from a half flushed disk, e.g. after a power failure. There is still a problem with the linux "sync" behaviour and it's partition handling. Linux has its own buffer cache for each block device, e.g one cache for /dev/hda and one for /dev/hda1. If you read a block from /dev/hda it is placed in its buffer cache. Then you can write something to the same block over /dev/hda1 flush it to disk, but the buffer cache of /dev/hda doesn't notice that and still reads the old data. There is no call to invalidate that cached data. As grub accesses the disk through /dev/hda while linux fs driver access it through the partition /dev/hda1 they can be out of sync despite calling sync everywhere. Jochen _______________________________________________ Bug-grub mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-grub
