Re: Linux & NFS caching: reducing TCO

Albert D. Cahalan (acahalan@cs.uml.edu)
Sat, 15 May 1999 21:31:24 -0400 (EDT)


Charles K Hardin writes:

> Excerpts from RFC 1094 - Network File System ver 2
...
> In no uncertain terms does NFSv2 Spec allow server-side caching, just
> because implementations do this - does not make it conform to a spec.

Eh, so what?

Both server and client need caching options, with the defaults being
some kind of compromise.

> since there are no callbacks in NFS (ie, no way to invalidate a cached
> file on the client). This is the price you pay for stateless servers in
...
> hack to get a choerence protocol running between the clients).

BSD's NQNFS ("not quite NFS") protocol supports this.
http://www.netapp.com/technology/level3/nfsbook.html

------------- quote -------------

The NFS implementation that appears in 4.4BSD was written by Rick
Macklem at the University of Guelph using the specifications of the
Version 2 protocol published by Sun Microsystems [Sun Microsystems, 1989;
Macklem, 1991]. This NFS Version 2 implementation had several 4.4BSD-only
extensions added to it; the extended version became known as the
Not Quite NFS (NQNFS) protocol [Macklem, 1994a]. This protocol provides

* Sixty-four bit file offsets and sizes

* An access RPC that provides server permission checking on file open,
rather than having the client guess whether the server will allow access

* An append option on the write RPC

* Extended file attributes to support 4.4BSD filesystem functionality
more fully

* A variant of short-term leases with delayed-write client caching that
give distributed cache consistency and improved performance [Gray &
Cheriton, 1989]

Many of the NQNFS extensions were incorporated into the revised NFS
Version 3 specification [Sun Microsystems, 1993; Pawlowski et al,
1994]. Others, such as leases, are still available only with NQNFS.
The NFS implementation distributed in 4.4BSD supports clients and
servers running the NFS Version 2, NFS Version 3, or NQNFS protocol
[Macklem, 1994b]. The NQNFS protocol is described in Section 9.3.

-------- end quote --------

At the same place (http://www.netapp.com/technology/level3/nfsbook.html)
you can find some information about how leases work.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/