[comp.unix.wizards] Stateless NFS with Record Locking

duncan@vuwcomp.UUCP (12/04/87)

In article <6759@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn) writes:
>Fundamentally, NFS remains stateless.  Last I heard, the locking was
>being done by arrangement with external daemons.  (It is actually record
>locking, in support of SVID requirements, not just whole-file locking.)

How do Sun make this work?  If a locking daemon is running on a machine
that crashes then that daemon loses track of what files are locked.
If a client crashes, how does the locking daemon know to unlock files
that it had locked?

As Doug says, with the locking done by external daemons, the NFS protocol
itself remains stateless, but I can't see how you still don't lose the
benifits of it's statelessness.

Duncan
"The America's Cup -- why wait until 1991...?"
Domain: duncan@comp.vuw.ac.nz		Path: ...!uunet!vuwcomp!duncan

ed@mtxinu.UUCP (Ed Gould) (12/05/87)

In article <13107@comp.vuw.ac.nz> duncan@comp.vuw.ac.nz (Duncan McEwan) writes:
>In article <6759@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn) writes:
>>Fundamentally, NFS remains stateless.  Last I heard, the locking was
>>being done by arrangement with external daemons.
>
>How do Sun make this work?  If a locking daemon is running on a machine
>that crashes then that daemon loses track of what files are locked.
>If a client crashes, how does the locking daemon know to unlock files
>that it had locked?

There are actually two cooperating daemons: the lock manager and the
status monitor.  They both exist on all machines.  The status monitor
is responsible for notifying the lock manager of client crashes.

There is also a recovery protocol that allows clients to regain
locks if the server crashes.  Before the rebooted server accepts
general lock requests, it accepts lock renewal requests for
a period of time.

-- 
Ed Gould                    mt Xinu, 2560 Ninth St., Berkeley, CA  94710  USA
{ucbvax,uunet}!mtxinu!ed    +1 415 644 0146

"`She's smart, for a woman, wonder how she got that way'..."