RE: [NFS] Re: [PATCH] NFS using CacheFS

From: Lever, Charles
Date: Mon Oct 04 2004 - 17:53:57 EST


> På må , 04/10/2004 klokka 22:45, skreiv Steve Dickson:
>
> > 3) There is no user level support. I realize this is
> extremely cheesy
> > but I noticed that the NFS posix mount option (in the
> 2.6 kernel)
> > was no longer being used, so I high jacked it. Which means
> > to make NFS to used CacheFS you need to use the posix option:
> >
> > mount -o posix server:/export/home /mnt/server/home
>
> This is my one and only real gripe about it. The posix mount option is
> clearly documented, so we really cannot play around with it. Why can't
> you just add a separate cachefs flag?

probably ought to look like the Solaris UI here. isn't there a "cachefs" mount option on Solaris? anyway, reusing "posix" just for a prototype seems harmless enough.

> I'm a bit worried about the use of the raw IP address in
> nfs_cache_server_match(). It seems to me that when we add the NFSv4.1
> support for trunking over several different transport mechanisms (RDMA,
> IPv4/v6 etc) on the same mountpoint, then we may end up with a problem.
> We can probably leave it in for now, but later we may want to consider
> switching to using server->hostname or something equivalent.

yup, we want to avoid adding any transport specific detail in the NFS client, and leave that kind of stuff to the RPC client. good catch, trond.

i did a lengthy study of the AFS cache manager about a decade ago. interestingly, the place where it really falls down is in recycling disk blocks for use with a new incoming file to be cached. the underlying cache file system has to get rid of the on-disk data for old files before it can reuse the blocks for a new file. otherwise, the old data is exposed if the new file maps in pages it hasn't written to yet. if the cache is turning over quickly, handling this correctly can result in serious disk thrashing as the cache file system frees and erases blocks on disk and then reallocates them to the new file.

steve, is there [english] documentation somewhere that describes how the cachefs works?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/