On Thu, Jan 20, 2011 at 02:12:33PM +0800, Li, Shaohua wrote: > On Thu, 2011-01-20 at 13:55 +0800, Andrew Morton wrote: > > On Thu, 20 Jan 2011 13:38:18 +0800 Shaohua Li <shaohua.li@xxxxxxxxx> wrote: > > > > > > ext2, minix and probably others create an address_space for each > > > > directory. Heaven knows what xfs does (for example). > > > yes, this is for one directiory, but the all files's metadata are in > > > block_dev address_space. > > > I thought you mean there are several block_dev address_space like > > > address_space in some filesystems, which doesn't fit well in my > > > implementation. for ext like filesystem, there is only one > > > address_space. for filesystems with several address_space, my proposal > > > is map them to a virtual big address_space in the new ioctls. > > > > ext2 and minixfs (and I think sysv and ufs) have a separate > > address_space for each directory. I don't see how those can be > > represented with a single "virtual big address_space" - we also need > > identifiers in there so each directory's address_space can be created > > and appropriately populated. > Oh, I misunderstand your comments. you are right, the ioctl methods > don't work for ext2. the dir's address_space can't be readahead either. > Looks we could only do the metadata readahead in filesystem specific > way. There should be little interest on ext2 boot time optimization. However if necessary, we might somehow treat ext2 dirs as files and do normal fadvise on them? The other ext2 metadata may still be accessible via the block_dev interface. Thanks, Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html