> A `dirsync' option does make sense though, for the reasons which
> Stephen outlined.
So we could then have:
- (no option) == async, which only syncs file + data on fsync() or
O_SYNC (BSD calls this async, it may corrupt file systems because
writes are out-of-order)
- dirsync, which syncs directories and metadata and causes ordered
writes thereof (BSD calls this noasync), no chance of corrupting
on-disk structure unrecoverably.
- sync, which syncs all filesystem operations (BSD calls this sync
also), will have at most 1 dirty block at a time on non-journaled file
systems(?)
I expect sync to be faster on journalled file systems in that case,
because "in-order execution" to journal will probably cause linear
writes, while on ext2, it will involve seeking.
-- Matthias Andree"They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." Benjamin Franklin - 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/