linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Andrew Morton <akpm@osdl.org>
Cc: nfsv4@linux-nfs.org, linux-kernel@vger.kernel.org,
	torvalds@osdl.org, linux-cachefs@redhat.com,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 0/12] FS-Cache: Generic filesystem caching facility
Date: Wed, 16 Nov 2005 11:26:46 +0000	[thread overview]
Message-ID: <1932.1132140406@warthog.cambridge.redhat.com> (raw)
In-Reply-To: <20051115112504.4b645a86.akpm@osdl.org>

Andrew Morton <akpm@osdl.org> wrote:

> > What I'm trying to do is actually fairly simple in concept:
> > 
> >   (1) Have a metadata inode (imeta) that covers the block device.
> > 
> 
> Can you remind me again why it requires a blockdev rather than a regular file?

That's the third time you've asked:-) You should be able to find the previous
conversations in LKML archives.

I presume directing you to go and look at the CacheFS documentation in patch
12/12 would be out of the question? Particularly the section entitled "Why a
block device? Why not a bunch of files?"...

Look also at Documentation/filesystem/caching/fscache.txt provided by patch
9/12 for the constraints I've set, in particular:

 (1) It must be practical to operate without a cache.

 (2) The size of any accessible file must not be limited to the size of the
     cache.

 (3) The combined size of all opened files (this includes mapped libraries)
     must not be limited to the size of the cache.

 (4) The user should not be forced to download an entire file just to do a
     one-off access of a small portion of it (such as might be done with the
     "file" program).

To which I wish to add:

 (5) The netfs pages must remain owned by the netfs, so that there is no
     difference between the netfs operating with a cache and it operating
     without a cache. This means I/O must be done to/from the netfs pages
     directly from/to the cache.


I have a start of a cache-on-files facility (called, most imaginatively,
CacheFiles) which works as another backend to FS-Cache. Of the underlying
filesystem, it requires:

 (*) O_DIRECT

 (*) Reads and writes on arbitrary kernel pages

 (*) Reads on holes must return short or ENODATA. This requires an extra
     O_XXXX flag to be supplied when opening a file or the struct file or
     inode to be flagged appropriately.

 (*) The ability to issue FS operations such as rename, open, setxattr, mkdir
     from kernel space.

This facility isn't well advanced yet, and will initially only be available on
EXT2/3. It will also require a userspace component to clean up dead nodes.


Are you willing to at least carry the FS-Cache core and the AFS usage of it?
They haven't changed for a long time, and hopefully shouldn't need to:

 (*) Subject: [PATCH 8/12] FS-Cache: Add generic filesystem cache core module
     Patch: fscache-core-2614mm2.diff

 (*) Subject: [PATCH 9/12] FS-Cache: Add documentation for FS-Cache and its interfaces
     Patch: fscache-docs-2614mm2.diff

 (*) Subject: [PATCH 10/12] FS-Cache: Make kAFS use FS-Cache
     Patch: fscache-afs-2614mm2.diff

Once I've updated them for Linus's comments, that is...

All the other patches have to do with CacheFS.

David

  parent reply	other threads:[~2005-11-16 11:26 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-14 21:54 [PATCH 0/12] FS-Cache: Generic filesystem caching facility David Howells
2005-11-14 21:54 ` [PATCH 2/12] FS-Cache: Permit multiple inclusion of linux/pagevec.h David Howells
2005-11-14 21:54 ` [PATCH 1/12] FS-Cache: Handle -Wsign-compare in i386 bitops David Howells
2005-11-14 21:54 ` [PATCH 4/12] FS-Cache: Permit pre-allocation of radix-tree nodes David Howells
2005-11-14 21:54 ` [PATCH 8/12] FS-Cache: Add generic filesystem cache core module David Howells
2005-11-14 21:54 ` [PATCH 3/12] FS-Cache: Add list_for_each_entry_safe_reverse() David Howells
2005-11-14 21:54 ` [PATCH 7/12] FS-Cache: Export a couple of VM functions David Howells
2005-11-14 21:54 ` [PATCH 5/12] FS-Cache: Release page->private in failed readahead David Howells
2005-11-14 21:54 ` [PATCH 6/12] FS-Cache: Add a function to replace a page in the pagecache David Howells
2005-11-14 21:54 ` [PATCH 11/12] FS-Cache: CacheFS: Add cache on blockdevice cache backend David Howells
2005-11-14 21:54 ` [PATCH 9/12] FS-Cache: Add documentation for FS-Cache and its interfaces David Howells
2005-11-14 21:54 ` [PATCH 12/12] FS-Cache: CacheFS: Add Documentation David Howells
2005-11-14 21:54 ` [PATCH 10/12] FS-Cache: Make kAFS use FS-Cache David Howells
2005-11-14 22:45 ` [PATCH 0/12] FS-Cache: Generic filesystem caching facility Linus Torvalds
2005-11-14 23:03   ` Andrew Morton
2005-11-14 23:17     ` Trond Myklebust
2005-11-15  8:57       ` [Linux-cachefs] " Jeff Garzik
2005-11-18 22:07       ` Troy Benjegerdes
2005-11-15 16:32   ` Jamie Lokier
2005-11-15 16:54     ` Linus Torvalds
2005-11-15 17:59   ` David Howells
2005-11-15 19:25     ` Andrew Morton
2005-11-15 23:45       ` Kyle Moffett
2005-11-16 11:26     ` David Howells [this message]
2005-11-16 11:56       ` Andrew Morton
2005-11-17 19:28       ` David Howells
2005-11-17 21:29         ` Andrew Morton
2005-11-18  8:43         ` Paul Jackson
2005-11-14 23:47 ` [PATCH] FS-Cache: Make NFS use FS-Cache Steve Dickson
2005-11-15  0:07   ` Andrew Morton
2005-11-15  2:31     ` Steve Dickson
2005-11-15 12:28 ` [PATCH 0/12] FS-Cache: Generic filesystem caching facility Nick Piggin
2005-11-15 13:20 ` [PATCHES 0-12/12] " David Howells
2005-11-15 14:06   ` [Linux-cachefs] " J. Bruce Fields
2005-11-15 16:24   ` David Howells
2005-11-15 13:51 ` [PATCH 0/12] " David Howells
2005-11-15 17:05   ` Linus Torvalds

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1932.1132140406@warthog.cambridge.redhat.com \
    --to=dhowells@redhat.com \
    --cc=akpm@osdl.org \
    --cc=linux-cachefs@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nfsv4@linux-nfs.org \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).