Re: NFSERR_STALE on umount with 3.10.0.RC5 kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a complete network trace between the client and server.


So this issue only happens on Kernels 3.9.6 and newer.
I did not have this problem with Kernel 3.8.13
nfs-utils-1.2.3-36 (from Redhat) was used w/ all kernel versions.

The mount command includes option "noac".  I assume when mounts do not 
include this option, the sending of the trailing getattr is suppressed 
since the client cached its attributes.
Let me know if you need anything else.


Christopher Vogan
Dept. W98 NFS Development & Test



From:   "Myklebust, Trond" <Trond.Myklebust@xxxxxxxxxx>
To:     Steve Dickson <SteveD@xxxxxxxxxx>, 
Cc:     Christopher T Vogan/San Jose/IBM@IBMUS, 
"linux-nfs@xxxxxxxxxxxxxxx" <linux-nfs@xxxxxxxxxxxxxxx>
Date:   06/26/2013 02:25 PM
Subject:        Re: NFSERR_STALE on umount  with 3.10.0.RC5 kernel



On Wed, 2013-06-26 at 15:20 -0400, Steve Dickson wrote:
> 
> On 18/06/13 15:59, Myklebust, Trond wrote:
> >> -----Original Message-----
> >> From: Christopher T Vogan [mailto:cvogan@xxxxxxxxxx]
> >> Sent: Tuesday, June 18, 2013 3:56 PM
> >> To: Myklebust, Trond
> >> Cc: linux-nfs@xxxxxxxxxxxxxxx
> >> Subject: Re: NFSERR_STALE on umount with 3.10.0.RC5 kernel
> >>
> >> The NFS server uses UMNT as a signal to remove the client from its 
mount
> >> table. Also at this time the Server cleans up other information about 
the now
> >> disconnected client.  Why would the client attempt to access the NFS 
server
> >> once it has stated its going to unmount?  I do not see the point of 
the
> >> GETATTR request after UMNT call.
> > 
> > As I said, the umount.nfs utility is doing the umount system call 
after UMNT, so the 
> > client does a lookup of the umount path at that time.
> > 
> > IOW: This has nothing to do with the kernel. If you feel it is a bug, 
then please ask 
> > SteveD to file a fix against nfs-utils.
> > 
> I just took a look at the umount code and it appears the UMNT call and 
> umount() system call are being done in the correct order... 
> 
> The UMNT call is done in nfs_umount23() which is follow by either
> mnt_context_do_umount() (if using the libmount code) or del_mtab()
> which make the umount() system call....

That's the order that will cause the result Christopher is seeing: first
a UMNT call, then a lookup/revalidate as part of the umount() system
call.

-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com


Attachment: reddy4-umount.pcap.bz2
Description: Binary data


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux