How to manage shared persistent local caching (FS-Cache) with NFS?

Jon Masters jonathan at jonmasters.org
Wed Dec 5 12:49:59 EST 2007


On Wed, 2007-12-05 at 17:11 +0000, David Howells wrote:

> The downside of this is that each shared superblock only has one NFS connection
> to the server, and so only one set of connection parameters can be used.
> However, since persistent local caching is novel to Linux, I think that it is
> entirely reasonable to overrule the attempts to make mounts with different
> parameters if they are to be shared and cached.

I think the shared superblock approach is the right one, but I'm a
little concerned that there would now be different behavior for fscache
and non-cached setups. Not sure of any better idea though.

> The R/O mount flag can be dealt with by moving readonlyness into the vfsmount
> rather than having it a property of the superblock.  The superblock would then
> be read-only only if all its vfsmounts are also read-only.

Given that, how many connection parameters are there that are likely to
actually differ on the same client, talking to the same server? Really?

> Would it be reasonable to have an outside way of setting directory options?
> For instance, if there was a table like this:
> 
> 	FS	SERVER	VOLUME	DIR		OPTIONS
> 	=======	=======	=======	===============	=========================
> 	nfs	home0	-	/home/*		fscache
> 	afs	redhat	data	/data/*		fscache
> 
> This could then be loaded into the kernel as a set of rules which directory
> lookup by the filesystem involved could attempt to match and apply.

You could store the table in a NIS map, for example, and a udev rule or
similar could trigger to load it later.

Jon.




More information about the NFSv4 mailing list