Re: cachefs on linux

From: Hirokazu Takahashi (
Date: Wed Jun 11 2003 - 06:12:18 EST


I think the main benfit of cachefs is on NFS servers. Cachefs of
clients can help them to reduce their loads. We know many clients
may share one huge NFS server.
(e.g. Streaming systems which contents may be extremly huge.)

> >> Its particularly handy for fast read-only NFS stuff. We have thousands
> >> of linux hosts and distributing software to all of them is a pain. With
> >> cachefs with NFS as the "back" filesystem, you push to the masters and
> >> the clients get the changes over NFS and then store them in their local
> >> cache so your software distribution nightmare becomes no problem at all.
> This is not a good idea, unless you have a transactional semantic for the
> fetches from the backend. Otherwise you have a mixture of old and new files.
> >> Clients read off the local disk if they can, but fetch over NFS as
> >> required. You can tune the cache size on all of the client machines so
> >> they can cache more or less of the most recently used NFS junk on its
> >> local disk.
> This is btw exactly what CODA and AFS does best.
> > Technically cachefs is just a union mount with tmpfs or ramfs as the overlay
> > on the underlying filesystem. Doing a seperate cachefs is kind of pointless
> > in Linux.

Cachefs is different from union mount as it is required to synchronize
contents in it with contents on NFS servers.
I guess it isn't easy to keep them as any other clients may modify the
contents of the servers at any time.

> I think it is a bit different, since the cache is on disk and can be larger.
> If you want to put that in swap space, you may quickly exceed some VM
> limits. So there is a difference.

And we should use filesystem as cache space so that we can make
cachefs be persistent cache. After rebooting all cache remains valid.

Thank you,
Hirokazu Takahashi.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sun Jun 15 2003 - 22:00:27 EST