NFS error recovery.


R. Clayton (rclayton@clayton.cs.monmouth.edu)
(no date)


How does NFS deal with the lost / duplicate requests that can occur with UDP?

  Timeout and retransmit, the values of which can be set by the system
  administrator.

  The nfs statistics for my machine show (reformatted)

    cl nfsstat -m
    /export/home from netapp:/home/cslab
    Flags: vers=3, proto=udp, sec=sys, hard, intr, link, symlink,
             rsize=32768, wsize=32768, retrans=5

    Lookups: srtt=8 (20ms), dev=4 (20ms), cur=3 (60ms)
    Reads: srtt=16 (40ms), dev=6 (30ms), cur=5 (100ms)
    Writes: srtt=21 (52ms), dev=10 (50ms), cur=7 (140ms)
    All: srtt=8 (20ms), dev=4 (20ms), cur=3 (60ms)

    /export/opt from cslab00:/export/opt
    Flags: vers=3, proto=tcp, sec=sys, hard,intr, link, symlink, acl,
             rsize=32768, wsize=32768, retrans=5

    /var/mail from cslab00:/var/mail
    Flags: vers=3, proto=tcp, sec=sys, hard, intr, link, symlink, acl,
             rsize=32768, wsize=32768, retrans=5

  My machine reaches my home directory via udp; the other directories are
  reached via tcp pipes. The retransmission count is 5 tries before giving up;
  the time-out value is dynamic and computed from the estimated round-trip time
  (srtt), the variance (dev), and the back-off time (cur).

Some NFS operations (like create a file, write data to file) are
non-idempotent.

  I'm not sure why you say that, but a sequence of open statements is
  equivalent in effect to a single open statement. Similarly, because write
  statements must include a file position, a sequence of write statements is
  equivalent to one write statement.

  NFS semantics is sufficiently murky that questions such as operation
  idemoptence may be difficult to answer, but in our simple view the answers
  seem straightforward.



This archive was generated by hypermail 2.0b3 on Sun May 06 2001 - 20:30:05 EDT