Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Wed, 16 Oct 2002 13:49:58 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Wed, 16 Oct 2002 13:49:58 -0400 Received: from dell-paw-3.cambridge.redhat.com ([195.224.55.237]:10745 "EHLO executor.cambridge.redhat.com") by vger.kernel.org with ESMTP id ; Wed, 16 Oct 2002 13:49:57 -0400 To: Rik van Riel Cc: Andrew Morton , David Howells , Trond Myklebust , linux-kernel@vger.kernel.org Subject: Re: [PATCH] do_generic_file_read / readahead adjustments In-Reply-To: Message from Rik van Riel of "Wed, 16 Oct 2002 14:36:14 -0200." User-Agent: EMH/1.14.1 SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (=?ISO-8859-4?Q?Unebigory=F2mae?=) APEL/10.3 Emacs/21.2 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII Date: Wed, 16 Oct 2002 18:55:45 +0100 Message-ID: <30901.1034790945@warthog.cambridge.redhat.com> From: David Howells Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1376 Lines: 33 > On Wed, 16 Oct 2002, Andrew Morton wrote: > > David Howells wrote: > > > > > > The attached patch does the following three things: > > > > Seems sensible. Is there something out there which actually uses this? > > I think David has a few things up his sleeve. The patch looks > sensible. I'm writing a general cache for filesystems such as AFS, NFSv4, and Lustre. Block devices are made available to the "cache manager" by means of a filesystem that can be mounted. I'm storing meta data in an inode in the cache, but to scan this at the moment I need to gain a "struct file" to use with do_generic_file_read(). This involves either creating a dummy dentry and struct file (which will cause Al Viro to come looking for me with a shotgun), or to use an extra auxilliary filesystem mounted with do_kern_mount(), neither of which are particularly appealing. This patch is the alternative: make a function (do_generic_mapping_read()) that I can pass an inode or an address_space to, and make do_generic_file_read() call that. This allows me to make use of readahead semantics without having to reinvent them for myself. David - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/