Messages in this thread | | | From | David Howells <> | Subject | [RFC] Splitting CacheFS into general manager and cache backend bits | Date | Tue, 05 Oct 2004 11:14:45 +0100 |
| |
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 - 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/
| |