Thread (12 messages) 12 messages, 5 authors, 2008-01-31

Re: [PATCH, RFC] Add new "development flag" to the ext4 filesystem

From: Jan Kara <jack@suse.cz>
Date: 2008-01-28 12:16:04

On Fri 25-01-08 03:50:04, Andreas Dilger wrote:
On Jan 25, 2008  11:05 +0100, Jan Kara wrote:
quoted
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.
  Well, you have to also make sure that all indirect blocks are on disk
before fsync() returns. Otherwise there's not much point in the fact that
data itself reached the disk. And for that you need something like
private_list.
quoted
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.
  Yes, of course. I just wanted to point out that ext2 isn't a strict
subset of ext3 so there is some non-trivial work to be done before you can
safely mount ext2 as ext3-without-journal.

									Honza
-- 
Jan Kara [off-list ref]
SUSE Labs, CR
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help