From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jamie Lokier Subject: Re: readahead on directories Date: Wed, 21 Apr 2010 21:39:37 +0100 Message-ID: <20100421203937.GX27575@shareable.org> References: <4BCC7C05.8000803@cfl.rr.com> <20100421004434.GA27420@shareable.org> <4BCF123C.6010400@cfl.rr.com> <20100421161211.GC27575@shareable.org> <20100421183853.GA14897@ioremap.net> <20100421185124.GM27575@shareable.org> <20100421185657.GA21249@ioremap.net> <20100421200243.GU27575@shareable.org> <20100421202134.GB25130@ioremap.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Phillip Susi , linux-fsdevel@vger.kernel.org, Linux-kernel To: Evgeniy Polyakov Return-path: Content-Disposition: inline In-Reply-To: <20100421202134.GB25130@ioremap.net> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Evgeniy Polyakov wrote: > On Wed, Apr 21, 2010 at 09:02:43PM +0100, Jamie Lokier (jamie@shareable.org) wrote: > > FIEMAP might not be the answer, but what part of it requires fs > > knowledge? It's supposed to be fs-independent. I agree it's not > > always appropriate to use, and I don't know if it would be effective > > anyway. > > At least we have to know whether given fs supports such interface. > And more complex is to know how underlying fs is organized. What is > extent, which types can it have, where exactly information about extent > metadata is stored, i.e. where can we find what this object is about? Ummm... Does any of that matter? > And how to actually populate appropriate blocks into ram to speedup > readdir()? Blockdev readahead() :-) > FIEMAP (which is file mapper btw :) is useful for information gathering > about how fs is organized, but that's all I'm afraid. That's all you need to start fetching from the blockdev. You can't *use* the blockdev data, but that doesn't matter for this readahead operation, only that they are approximately the right data blocks. - Jamie