[CentOS] Persistent NFS Caching

Wed Dec 2 16:09:37 UTC 2009
James Pearson <james-p at moving-picture.com>

Paul Berger wrote:

> I read a CentOS bugzilla http://bugs.centos.org/view.php?id=3853 that
> indicated that the functionality may exist in the kernels yet, but
> just the user space tools were missing. After doing some testing, the
> persistent caching does not appear to be in the kernels, either that
> or process outlined in the bugzilla entry and
> http://people.redhat.com/steved/fscache/docs/HOWTO.txt are missing
> something.

Looks like that CentOS bug listing is not quite right - the FS-Cache 
code is still in the 5.[34] kernels (and the fscache.ko module is 
available), but the 'fsc' mount option in the nfs client module has been 
disabled - from the kernel changelog:

* Sat Sep 13 2008 Don Zickus <dzickus at redhat.com> [2.6.18-115.el5]
...
- [nfs] disable the fsc mount option (Steve Dickson ) [447474]

> I also tried the Centos Plus kernel to see if it's be enabled in there
> and the results appear to be the same.
> 
> Apparently I need to use either Fedora 12 if I want to use this
> feature now, use CentOS 5.2 and not update as waiting till CentOS 6 is
> not really an option.  I really hate using bleeding edge and not
> updating and running with packages with know security vulnerabilities
> (even on our internal networkd) seems like a poor idea. ::sigh::

Theoretically, you could rebuild a more recent CentOS 5.[34] kernel with 
the 'linux-2.6-nfs-disable-the-fsc-mount-option.patch' commented out in 
the spec file - but as I mentioned previously, the FS-Cache code that is 
in these kernels is now quite old (and buggy).

If you really need to use FS-Cache now, then you need to use something 
like Fedora 12 or, as I have recently done, use CentOS 5 with a recent 
mainline kernel (2.6.32-rc8-git4 has up to date FS-Cache patches) and a 
more recent nfs-utils version - see:

<http://www.redhat.com/archives/linux-cachefs/2009-October/msg00002.html>

James Pearson