* [RFC] Splitting CacheFS into general manager and cache backend bits
[not found] <24616.1096914276@redhat.com>
@ 2004-10-05 10:14 ` David Howells
0 siblings, 0 replies; only message in thread
From: David Howells @ 2004-10-05 10:14 UTC (permalink / raw)
To: Linux filesystem caching discussion list; +Cc: linux-kernel
I've whipped up a patch to split CacheFS into two:
(1) FS-Cache
This is a general cache manager that the interested netfs's talk to. It
is supplied with a number of cache backends over which it distributes the
operations from the netfs's.
(2) CacheFS
This is then made into a cache backend. The act of mounting a block
device as cachefs causes the space contained therein to be made available
through FS-Cache.
To give you a clearer idea of what I'm thinking, this diagram might help:
+---------+
| | +-----------+
| NFS |--+ | |
| | | +-->| CacheFS |
+---------+ | +----------+ | | /dev/hda5 |
| | | | +-----------+
+---------+ +-->| | |
| | | |--+ +-------------+
| AFS |----->| FS-Cache | | |
| | | |----->| Cache Files |
+---------+ +-->| | | /var/cache |
| | |--+ +-------------+
+---------+ | +----------+ |
| | | | +-------------+
| ISOFS |--+ | | |
| | +-->| ReiserCache |
+---------+ | / |
+-------------+
So, for example, you might have a block device mounted with CacheFS as one of
your backends, the traditional bunch of cache files as another backend and
some sort of Reiser4 plug-in as a third backend.
A netfs only has to be modified to take account of FS-Cache. It then shouldn't
need to be modified further to support each different type of cache.
David
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-10-05 10:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <24616.1096914276@redhat.com>
2004-10-05 10:14 ` [RFC] Splitting CacheFS into general manager and cache backend bits David Howells
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome