[clug] cachefs

Michael Still mikal at stillhq.com
Fri Feb 27 00:34:08 GMT 2004


On Fri, 27 Feb 2004, Kim Holburn wrote:

> I said I was interested in cachefs being in linux and he said they might
> think about it if enough people expressed an interest.  I know there are
> a few people on the list who would be interested in this so perhaps you
> might like to discuss.

Or you could be a beta tester for mcachefs...

What's that I hear you ask? mcachefs stands for Mikal's cachefs / minimal 
cachefs / megalomanic cachefs / <you get the idea>. It's a userspace 
filesystem using the FUSE userspace filesystem toolkit. THe basic setup 
looks something like this:

cache mountpoint: what people read to have caching
target mountpoint: the real partition / mount
backing mountpoint: a filesystem to write cache entries to

I whipped it up as an excuse to play with FUSE. It has one known bug at 
the moment (don't kill a process which is still populating the backing 
store). It doesn't cache meta data at the moment, but the next release is 
going to need to address this to stop Jason Ozlins from looking so sad in 
the corridor. It also doesn't do block caching at the moment -- before the 
first open returns, the _entire_ file is streamed to the backing store. 
This will change soon too.

I haven't linked to the code here as I need to give it some packaging love 
over the weekend. If people would like to be crash test dummies, then that 
would be lovely.

Cheers,
Mikal

PS: Why userspace? Well, it means that all the caching code is really 
easy. It's about 700 lines. It also means that maintaining the cache 
(culling the backing store etc) can just be done with a shell script.

PPS: Think about this for a second. Now we can write filesystems which do 
stuff like log _all_ accesses to the filesystem, or present entirely 
different views of data based on user credentials. Thats cool. It's also 
pretty much transparent to the user unless they possess above average 
clue.

PPPS: I now understand why people don't finish PhDs... It's so easy to get 
distracted.

-- 

Michael Still (mikal at stillhq.com) | "All my life I've had one dream,
http://www.stillhq.com            |  to achieve my many goals"
UTC + 11                          |    -- Homer Simpson



More information about the linux mailing list