home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.protocols.nfs
- Path: sparky!uunet!gatech!news.byu.edu!ux1!fcom.cc.utah.edu!park.uvcc.edu!ns.novell.com!thisbe.Eng.Sandy.Novell.COM!terry
- From: terry@thisbe.Eng.Sandy.Novell.COM (Terry Lambert)
- Subject: Re: NFS Protocol Specification
- Message-ID: <BuDJ9B.ME@Novell.COM>
- Sender: usenet@Novell.COM (Usenet News)
- Nntp-Posting-Host: thisbe.eng.sandy.novell.com
- Organization: Novell NPD -- Sandy, UT
- References: <VANDER.92Sep10173409@vancouver.stars.flab.Fujitsu.co.jp>
- Date: Thu, 10 Sep 1992 17:58:23 GMT
- Lines: 63
-
- In article <VANDER.92Sep10173409@vancouver.stars.flab.Fujitsu.co.jp> vander@flab.fujitsu.co.jp (Mike van der Velden) writes:
- >
- >I have the need to implement a protocol which will function much like
- >NFS. [...]
- >
- >But, before I start, I'd like to solicit opinions from the net. I'm
- >willing to summarize for the net if there is wide-spread interest
- >(otherwise I could e-mail a summary to anyone who would be interested).
-
- I'm interested in a summary.
-
- >1> What would you do to improve the protocol? Forgetting all about
- > backwards compatibility, would there be any specific functions that
- > you would add/remove/modify? How about the arguments used by the
- > protocol?
-
- Client cache update/invalidation by the server. This is probably the number
- one item on the agenda. It also implies that the client keeps "modification
- vectors" to insure invalidation or update doesn't occur to client-modified
- areas of your block buffer (to avoid introducing time synchronization
- problems on data not written from the client to the server yet).
-
- Number two would be common enforcement of byte range locks on a file in
- the NFS protocl. This buys you removal of lock latency at the cost of 1
- state for acknowledge or an acquisition delay (necessary to keep two people
- from locking the same region successfully).
-
- Number three would be time-stamp update notification from clients so that
- stat information is correctly maintained on the server and echoed to all
- clients. This could be pretty expensive, so it may be impractical unless
- a cache flush were to occur at the same time.
-
- >2> What were the major problem areas you encountered in implementing
- > the protocol?
-
- Haven't done a full implementation; only bugfixes; sorry. You should
- make sure the server side is VFS fluent to insure interoperability with
- all file systems (allowing their export). The client side can be
- relatively stupid, as either a VFS implementation, or a loop-back with
- a master/slave connection to a user space app.
-
- It's especially important to know about epid (effective process id) if
- your server is going to implement locks on behalf of remote processes.
- This should be the nfs server pid, and you will have to enfoprce client
- lock interaction in the server (including range overlap, which UNIX will
- try to make into a single locked range).
-
- >3> Are there any papers or other such documentation on this subject?
-
- There are scads of papers. There are also refence implementations in
- the Net/2 code and the Kyoto user-space NFS code. Many books also cover
- this topic. You may want to try the technical papaer archives at the
- University of New Mexico and Washington State (no address on the first;
- the second is at wuarchive.wustl.edu).
-
-
- Terry Lambert
- terry_lambert@gateway.novell.com
- terry@icarus.weber.edu
-
- ---
- Disclaimer: Any opinions in this posting are my own and not those of
- my present or previous employers.
-