NFS client reuses XID when server returns NFSERR_JUKEBOX

Chuck Lever cel at
Fri Nov 4 12:30:57 PST 2005

hi rick-

(your name is in the source file, so i'm asking you first :^)

i have an internal report that FreeBSD 5.3 (and by my examination, 6.0 
too) has a bug around handling an EJUKEBOX from the server.

RFC1813 states that the client should retransmit using a fresh XID if it 
receives NFSERR_JUKEBOX, but i see that the retry logic in 
sys/nfsclient/nfs_socket.c reuses the old XID.

is the fix as easy as generating a new XID in the if {} clause that 
handles the NFSERR_TRYLATER error?

More information about the freebsd-fs mailing list