On Jan 25, 2008 11:05 +0100, Jan Kara wrote: > For example ext2 on fsync() just sync's a single inode > (and has to use private_list to track metadata buffers associated with > the inode) while ext3 flushes the whole journal. As for fsync(), we definitely need to preserve correct behaviour for the file itself, but there isn't a requirement that ext2 behave exactly like ext3 (it of course cannot). In the proposed ext4-mount-unjournaled-ext2 case, the superblock would be marked dirty as it is today and an e2fsck would need to be run at boot time. That is fine so long as the fsync() will cause the one file's data to be on disk before it returns. > In ext2, directory > handling code is quite different. ext2 works in page cache of the > directory while ext3 uses page cache of the underlying device via buffer > heads - at least this second thing would be more or less mechanical > thing to change and would make sence (we wouldn't have to reimplement > readahead in ext3 directory handling code as we do now). I've looked at > it once but then more urgent things came and ... you know it. I don't think it is a requirement that ext3 mounting a filesystem without a journal has to use page cache for directories. I wouldn't object to that being fixed. It definitely isn't a requirement for this to work, just an implementation difference. Cheers, Andreas -- Andreas Dilger Sr. Staff Engineer, Lustre Group Sun Microsystems of Canada, Inc. - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html