Re: Proposal and plan for ext2/3 future development work

From: Steve Lord
Date: Fri Jun 30 2006 - 15:15:32 EST


Joel Becker wrote:
On Fri, Jun 30, 2006 at 10:13:06AM -0700, Badari Pulavarty wrote:
I tried adding "delayed allocation" for ext3 earlier. Yes. VFS level
infrastructure would be nice. But, I haven't found much that we can
do at VFS - which is common across all the filesystems (except
mpage_writepage(s) handling). Most of the stuff is specific to filesystem implementation (even though it could be common) - coming
out with VFS level interfaces to suite all the different filesystem
delalloc would be *interesting* exercise.

Well, to be fair, I'm just going by what little I know about
XFS. They maintain a cache of all pages waiting on delayed allocation
for writepack. Why have this entire cache (hash, list, whatever) when
we could create some state on in the pagecache? We save a large chunk
of memory and some complex writeback code. I suspect you were thinking
of this when you said "mpage_writepage(s) handling". But this is a
large complexity win if we can do it.


No, XFS does not do this, when it gets asked to write out a page which is
delayed alloc, it goes and converts the delayed alloc extent to real disk
space. It then uses the page cache/buffer heads to find all the contiguous
pages which it can turn into a singe disk I/O. The code is made more complex
by other possible states for the data. The only information internal to XFS
though is its extent structures.

Steve
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/