Re: synchronous mounts

Matthias Andree (matthias.andree@stud.uni-dortmund.de)
Fri, 16 Nov 2001 11:47:28 +0100


On Fri, 16 Nov 2001, Andrew Morton wrote:

> 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/