- Subject: Re: [PATCH v3 1/5] add metadata_incore ioctl in vfs
- From: Wu Fengguang <fengguang.wu@xxxxxxxxx>
- Date: Thu, 20 Jan 2011 14:45:22 +0800
- Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, "linux-btrfs@xxxxxxxxxxxxxxx" <linux-btrfs@xxxxxxxxxxxxxxx>, "linux-fsdevel@xxxxxxxxxxxxxxx" <linux-fsdevel@xxxxxxxxxxxxxxx>, Chris Mason <chris.mason@xxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, Arjan van de Ven <arjan@xxxxxxxxxxxxx>, "Yan, Zheng" <zheng.z.yan@xxxxxxxxxxxxxxx>, linux-api <linux-api@xxxxxxxxxxxxxxx>, manpages <mtk.manpages@xxxxxxxxx>
- In-reply-to: <1295505457.1949.934.camel@sli10-conroe>
- References: <20110119184240.b0a6a016.akpm@xxxxxxxxxxxxxxxxxxxx> <1295491713.1949.898.camel@sli10-conroe> <20110119190548.e1f7f01f.akpm@xxxxxxxxxxxxxxxxxxxx> <1295493709.1949.910.camel@sli10-conroe> <20110119201014.adf02a78.akpm@xxxxxxxxxxxxxxxxxxxx> <1295501898.1949.917.camel@sli10-conroe> <20110119215510.0882db92.akpm@xxxxxxxxxxxxxxxxxxxx> <1295503953.1949.928.camel@sli10-conroe> <20110120061950.GA21597@localhost> <1295505457.1949.934.camel@sli10-conroe>
- User-agent: Mutt/1.5.20 (2009-06-14)
On Thu, Jan 20, 2011 at 02:37:37PM +0800, Li, Shaohua wrote:
> On Thu, 2011-01-20 at 14:19 +0800, Wu, Fengguang wrote:
> > 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.
> current readahead syscall might already work here. however, I would
> expect there is stall easily when reading dirs.
> thinking 3 dirs:
> /
> /aa
> /aa/bb
> before / is in memory, reading aa will have stall. And we can't reduce
> disk seeks here. metadata readahead will still have some benefits but
> might not be much in such filesystem.
Yeah, good point.
Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Home]
[Linux USB Devel]
[Video for Linux]
[Linux Audio Users]
[Photo]
[Yosemite News]
[Yosemite Photos]
[Free Online Dating]
[Linux Kernel]
[Linux SCSI]
[XFree86]