[Linux-cachefs] background mount failing because of FS-Cache?

David Howells dhowells at redhat.com
Tue Feb 16 16:04:59 UTC 2010


Daniel Goering <g_daniel at gmx.net> wrote:

> I'd like to mount an NFS4 share with the option bg as described in man 5
> nfs.
> This works perfectly fine e.g. on a Gentoo system. I tried the same with
> some Fedora 12 clients and the bg option just seems to be ignored. All
> mounts are carried out in the foreground and time out after 2 minutes
> [and the client is blocked e.g. during boot for the entire time] instead
> of trying in the background for about 1 week until the server is back up.

Have you logged this with bugzilla?

> The only difference I could find was that Fedora 12 automatically tries
> to use FS-Cache when issuing the mount and may be FS-Cache forces the
> whole task into the foreground...

It does not.

Apart from setting up a couple of memory structures, no cache-related activity
is done during mount.  Nothing more happens until the first regular file is
opened for reading.  Certainly nothing will happen unless you specify an 'fsc'
option on the mount command line.  You can check this:

	[root at andromeda ~]# cat /proc/fs/nfsfs/volumes 
	NV SERVER   PORT DEV     FSID              FSC
	v4 5a9b4a12  801 0:18    7edcf8bbc93b4329  yes

As you can see, my test machine has a cached mount - the FSC column says 'yes'.

> When I issue the mount command I find the following lines in dmesg:
> FS-Cache: Loaded
> FS-Cache: Netfs 'nfs' registered for caching

That just means that the NFS module was loaded and registered itself with
FS-Cache, which doesn't really mean anything.

> I certainly did not specify the mount option fsc or anything else to
> activate FS-Cache and I could not find any option to avoid it.
> Can someone tell me how to deactivate FS-Cache?

It isn't necessarily active.  If you want to get rid of FS-Cache completely
for NFS, you'll have to build a kernel with:

	CONFIG_NFS_FSCACHE=y

changed to 'n'.

> I tried to blacklist the fscache module, but it was used any ways when
> issuing mount. Removing the .ko file resulted in a broken nfs module

nfs.ko depends on fscache.ko.  It wouldn't be able to use it otherwise.

> Is there a nice way to get rid of FS-Cache or do I have to build my own
> kernel?

You'll have to build your own kernel.  I doubt FS-Cache is the problem.
Unless you activate it by requesting it in a mount option, it won't do
anything.

You can also check /proc/fs/fscache/stats.

You can also turn on NFS debugging for FS-Cache to see what it's doing:

	echo $((0x800)) >/proc/sys/sunrpc/nfs_debug 

David




More information about the Linux-cachefs mailing list