From: Chuck Lever Subject: Re: umount fails with device busy Date: Thu, 23 Aug 2007 16:03:17 -0400 Message-ID: <46CDE805.4090909@oracle.com> References: <20070823184544.237460@gmx.net> Reply-To: chuck.lever@oracle.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000209040600000309090705" Cc: nfs@lists.sourceforge.net To: z00t@gmx.net Return-path: Received: from sc8-sf-mx2-b.sourceforge.net ([10.3.1.92] helo=mail.sourceforge.net) by sc8-sf-list2-new.sourceforge.net with esmtp (Exim 4.43) id 1IOIzg-0000fP-Tv for nfs@lists.sourceforge.net; Thu, 23 Aug 2007 13:09:29 -0700 Received: from rgminet01.oracle.com ([148.87.113.118]) by mail.sourceforge.net with esmtps (TLSv1:AES256-SHA:256) (Exim 4.44) id 1IOIu3-0007Uj-4h for nfs@lists.sourceforge.net; Thu, 23 Aug 2007 13:03:39 -0700 In-Reply-To: <20070823184544.237460@gmx.net> List-Id: "Discussion of NFS under Linux development, interoperability, and testing." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: nfs-bounces@lists.sourceforge.net Errors-To: nfs-bounces@lists.sourceforge.net This is a multi-part message in MIME format. --------------000209040600000309090705 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 7bit z00t@gmx.net wrote: > Hi guys, > > I get the device busy error when I try to umount an NFS file system although there is no process with an open file on it (at least fuser -m /mnt/point and lsof +f -- /mnt/point don't find anything). > > To be more precise this only happens, when I run the umount right after stopping an application which has its executables and work directory on this file system. Running umount again some seconds later works fine. > > I do not have any submounts under this mount point. There are no packet transmit or receive errors nor any NFS/RPC errors only a very small number of RPC retransmitts. So it seems that I have a stable environment. Client and server is SLES9 with 2.6.5-7.202.7-smp/X86_64. > > I enabled NFS debug output and the only noticeable thing is, that some NFS operations are still ongoing after the application processes have already terminated: > > Aug 23 08:25:23 marvin kernel: NFS reply getattr > Aug 23 08:25:23 marvin kernel: NFS: nfs_update_inode(0:12/149296 ct=1 info=0x6) > Aug 23 08:25:23 marvin kernel: NFS: (0:12/149296) revalidation complete > Aug 23 08:25:23 marvin kernel: nfs: flush(0:12/149296) > Aug 23 08:25:23 marvin kernel: NFS: dentry_delete(bin/stop, 0) > Aug 23 08:25:23 marvin kernel: NFS: revalidating (0:12/2) > Aug 23 08:25:23 marvin kernel: NFS call getattr > Aug 23 08:25:23 marvin kernel: NFS reply getattr > Aug 23 08:25:23 marvin kernel: NFS: nfs_update_inode(0:12/2 ct=1 info=0x6) > Aug 23 08:25:23 marvin kernel: NFS: (0:12/2) revalidation complete > Aug 23 08:25:25 marvin kernel: NFS call fsstat > Aug 23 08:25:25 marvin kernel: NFS reply statfs: 0 > Aug 23 08:25:35 marvin kernel: NFS call fsstat > Aug 23 08:25:35 marvin kernel: NFS reply statfs: 0 > Aug 23 08:25:38 marvin kernel: NFS: 6368 initiated commit call > Aug 23 08:25:38 marvin kernel: NFS: 6369 initiated commit call > Aug 23 08:25:38 marvin kernel: NFS: 6370 initiated commit call > Aug 23 08:25:38 marvin kernel: NFS: 6371 initiated commit call > Aug 23 08:25:38 marvin kernel: NFS: 6368 nfs_commit_done (status 0) > Aug 23 08:25:38 marvin kernel: NFS: commit (0:12/121805 3207@0)NFS: dentry_delete(log/mux_marvin.trc, 0) > Aug 23 08:25:38 marvin kernel: OK > Aug 23 08:25:38 marvin kernel: NFS: 6369 nfs_commit_done (status 0) > Aug 23 08:25:38 marvin kernel: NFS: commit (0:12/149304 2238@0)NFS: dentry_delete(log/pw_marvin_1.trc, 0) > Aug 23 08:25:38 marvin kernel: OK > Aug 23 08:25:38 marvin kernel: NFS: 6370 nfs_commit_done (status 0) > Aug 23 08:25:38 marvin kernel: NFS: commit (0:12/149297 2238@0)NFS: dentry_delete(log/pw_marvin_0.trc, 0) > Aug 23 08:25:38 marvin kernel: OK > Aug 23 08:25:38 marvin kernel: NFS: 6371 nfs_commit_done (status 0) > Aug 23 08:25:38 marvin kernel: NFS: commit (0:12/149295 965@0)NFS: dentry_delete(net.trc, 0) > Aug 23 08:25:38 marvin kernel: OK > Aug 23 08:25:45 marvin kernel: NFS call fsstat > Aug 23 08:25:45 marvin kernel: NFS reply statfs: 0 > Aug 23 08:25:55 marvin kernel: NFS call fsstat > > When I run umount during these ops I get an device busy. Any help would be very appreciated! This is normal and expected behavior. One problem may be that your server is slow, and thus there are RPCs left outstanding for a bit on your client after your application exits. The COMMIT calls from that trace suggest that there is dirty data the client is writing back to the server. --------------000209040600000309090705 Content-Type: text/x-vcard; charset=utf-8; name="chuck.lever.vcf" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="chuck.lever.vcf" begin:vcard fn:Chuck Lever n:Lever;Chuck org:Oracle Corporation;Corporate Architecture: Linux Projects Group adr:;;1015 Granger Avenue;Ann Arbor;MI;48104;USA title:Principal Member of Staff tel;work:+1 248 614 5091 x-mozilla-html:FALSE url:http://oss.oracle.com/~cel version:2.1 end:vcard --------------000209040600000309090705 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ --------------000209040600000309090705 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ NFS maillist - NFS@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs --------------000209040600000309090705--