Just in case anybody is actually reading, I managed to get snoop loging NFS 
traffic, while an ESTALE occured:

159751   0.00003 nfsclient.domain.net -> nfssvr.domain.net NFS C 4 (write       
) PUTFH FH=4F4F WRITE ST=SPC0 at 126451712 for 21869  (retransmit)
159752   0.00036 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Rst Seq=709685866 Len=0 Win=0
159753   0.00016 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Syn Seq=769703808 Len=0 Win=49640 Options=<mss 1460,nop,wscale 0,nop,nop,sackOK>
159754   0.00024 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Syn Ack=769703809 Seq=775368445 Len=0 Win=49640 Options=<mss 1460,nop,wscale 
0,nop,nop,sackOK>
159755   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368446 Seq=769703809 Len=0 Win=49640
159756   0.00007 nfsclient.domain.net -> nfssvr.domain.net NFS C 4 (write       
) PUTFH FH=4F4F WRITE ST=SPC0 at 126451712 for 21869  (retransmit)
159757   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368446 Seq=769705269 Len=1460 Win=49640
159758   0.00002 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Push Ack=775368446 Seq=769706729 Len=1460 Win=49640
159759   0.00014 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769705269 Seq=775368446 Len=0 Win=48180
159760   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769706729 Seq=775368446 Len=0 Win=46720
159761   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769708189 Seq=775368446 Len=0 Win=45260
159762   0.00003 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368446 Seq=769708189 Len=1460 Win=49640
159763   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Push Ack=775368446 Seq=769709649 Len=1460 Win=49640
159764   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368446 Seq=769711109 Len=1460 Win=49640
159765   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Push Ack=775368446 Seq=769712569 Len=1460 Win=49640
159766   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368446 Seq=769714029 Len=1460 Win=49640
159767   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Push Ack=775368446 Seq=769715489 Len=1460 Win=49640
159768   0.00001 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769709649 Seq=775368446 Len=0 Win=43800
159769   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368446 Seq=769716949 Len=1460 Win=49640
159770   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Push Ack=775368446 Seq=769718409 Len=1460 Win=49640
159771   0.00010 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769711109 Seq=775368446 Len=0 Win=42340
159772   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769712569 Seq=775368446 Len=0 Win=40880
159773   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769714029 Seq=775368446 Len=0 Win=39420
159774   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769715489 Seq=775368446 Len=0 Win=37960
159775   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769716949 Seq=775368446 Len=0 Win=36500
159776   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769718409 Seq=775368446 Len=0 Win=35040
159777   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769719869 Seq=775368446 Len=0 Win=33580
159778   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368446 Seq=769719869 Len=1460 Win=49640
159779   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Push Ack=775368446 Seq=769721329 Len=1460 Win=49640
159780   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368446 Seq=769722789 Len=1460 Win=49640
159781   0.00005 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Push Ack=775368446 Seq=769724249 Len=1460 Win=49640
159782   0.00003 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Push Ack=775368446 Seq=769725709 Len=148 Win=49640
159783   0.00012 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769721329 Seq=775368446 Len=0 Win=32120
159784   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769722789 Seq=775368446 Len=0 Win=30660
159785   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769724249 Seq=775368446 Len=0 Win=29200
159786   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769725709 Seq=775368446 Len=0 Win=27740
159787   0.00000 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769725857 Seq=775368446 Len=0 Win=27592
159788   0.00451 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769725857 Seq=775368446 Len=0 Win=49640
159789   0.00040 nfssvr.domain.net -> nfsclient.domain.net NFS R 4 (write       
) NFS4ERR_STALE PUTFH NFS4ERR_STALE 
159790   0.00000 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368506 Seq=769725857 Len=0 Win=49640
159791   0.00006 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Fin Ack=775368506 Seq=769725857 Len=0 Win=49640
159792   0.00006 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Ack=769725858 Seq=775368506 Len=0 Win=49640
159793   0.00007 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1014 
Syn Seq=769840244 Len=0 Win=49640 Options=<mss 1460,nop,wscale 0,nop,nop,sackOK>
159794   0.00019 nfssvr.domain.net -> nfsclient.domain.net TCP D=1015 S=2049 
Fin Ack=769725858 Seq=775368506 Len=0 Win=49640
159795   0.00000 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1015 
Ack=775368507 Seq=769725858 Len=0 Win=49640
159796   0.00012 nfssvr.domain.net -> nfsclient.domain.net TCP D=1014 S=2049 
Syn Ack=769840245 Seq=775576173 Len=0 Win=49640 Options=<mss 1460,nop,wscale 
0,nop,nop,sackOK>
159797   0.00001 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1014 
Ack=775576174 Seq=769840245 Len=0 Win=49640
159798   0.00140 nfsclient.domain.net -> nfssvr.domain.net NFS C 4 (getattr     
) PUTFH FH=4F4F GETATTR 10011a b0a23a 
159799   0.00018 nfssvr.domain.net -> nfsclient.domain.net TCP D=1014 S=2049 
Ack=769840401 Seq=775576174 Len=0 Win=49484
159800   0.00772 nfssvr.domain.net -> nfsclient.domain.net NFS R 4 (getattr     
) NFS4ERR_STALE PUTFH NFS4ERR_STALE 
159801   0.00000 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1014 
Ack=775576234 Seq=769840401 Len=0 Win=49640
159802   0.00001 nfsclient.domain.net -> nfssvr.domain.net NFS C 4 (getattr     
) PUTFH FH=56B5 GETATTR 10011a b0a23a 
159803   0.00010 nfssvr.domain.net -> nfsclient.domain.net TCP D=1014 S=2049 
Ack=769840557 Seq=775576234 Len=0 Win=49640
159804   0.00013 nfssvr.domain.net -> nfsclient.domain.net NFS R 4 (getattr     
) NFS4ERR_STALE PUTFH NFS4ERR_STALE 
159805   0.00000 nfsclient.domain.net -> nfssvr.domain.net TCP D=2049 S=1014 
Ack=775576294 Seq=769840557 Len=0 Win=49640
159806   0.00327 nfsclient.domain.net -> intelli-t.domain.net RLOGIN R port=993 
write(4, "\0", 1)
159807   0.00023 nfsclient.domain.net -> intelli-t.domain.net RLOGIN R port=992 
write
159808   0.05933 intelli-t.domain.net -> nfsclient.domain.net RLOGIN C port=992 
159809   0.00000 intelli-t.domain.net -> nfsclient.domain.net RLOGIN C port=993 
159810   0.00003 nfsclient.domain.net -> intelli-t.domain.net RLOGIN R port=992 
: Stale NFS file han
159811   0.00002 nfsclient.domain.net -> intelli-t.domain.net RLOGIN R port=993 
\t\t\t\t= 1\r\nread(3, "\0
159812   0.05982 intelli-t.domain.net -> nfsclient.domain.net RLOGIN C port=993 
159813   0.00000 intelli-t.domain.net -> nfsclient.domain.net RLOGIN C port=992 
159814   0.06921 nfsclient.domain.net -> intelli-t.domain.net RLOGIN R port=997


Filehandle old: FH=4F4F
in line 159800 the server actually discovers an old FH
and assigns a new FH line (159802: FH=56B5) which obviously does not match 
the old FH. Which appears to be the reason for ESTALE, if not misinterpreted.
Since we are talking about the same file, I really do wonder why ?? 
What happens if at the same time an volatile FH expires as the NFS server goes 
down ??

Hoping that a someone knowledgable shows up to enlighten me and put it straight

Oliver
 
 
This message posted from opensolaris.org

Reply via email to