Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S265373AbTFMMcv (ORCPT ); Fri, 13 Jun 2003 08:32:51 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S265374AbTFMMcv (ORCPT ); Fri, 13 Jun 2003 08:32:51 -0400 Received: from e35.co.us.ibm.com ([32.97.110.133]:63704 "EHLO e35.co.us.ibm.com") by vger.kernel.org with ESMTP id S265373AbTFMMct (ORCPT ); Fri, 13 Jun 2003 08:32:49 -0400 Date: Fri, 13 Jun 2003 18:18:54 +0530 From: Maneesh Soni To: Linus Torvalds Cc: Dipankar Sarma , John M Flinchbaugh , linux-kernel@vger.kernel.org, Trond Myklebust , Andrew Morton Subject: Re: 2.5.70-bk16: nfs crash Message-ID: <20030613124854.GB1204@in.ibm.com> Reply-To: maneesh@in.ibm.com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2507 Lines: 74 On Thu, Jun 12, 2003 at 09:18:11AM -0700, Linus Torvalds wrote: > > [..] > --- > ===== include/linux/dcache.h 1.32 vs edited ===== > --- 1.32/include/linux/dcache.h Tue Jun 10 14:56:43 2003 > +++ edited/include/linux/dcache.h Thu Jun 12 09:12:27 2003 > @@ -174,8 +174,10 @@ > > static inline void __d_drop(struct dentry *dentry) > { > - dentry->d_vfs_flags |= DCACHE_UNHASHED; > - hlist_del_rcu_init(&dentry->d_hash); > + if (!(dentry->d_vfs_flags & DCACHE_UNHASHED)) { > + dentry->d_vfs_flags |= DCACHE_UNHASHED; > + hlist_del_rcu(&dentry->d_hash); > + } > } Looks like there is some problem in this. With this conditional d_drop, umounting an NFS mount goes in a loop and oopses in dput() This is on 2.5.70-bk17. Unable to handle kernel paging request at virtual address 00100104 printing eip: c016f9b1 *pde = 00000000 Oops: 0002 [#1] CPU: 3 EIP: 0060:[] Not tainted EFLAGS: 00010246 EIP is at dput+0x1f1/0x350 eax: 00100100 ebx: f72a8c80 ecx: f72a8c9c edx: 00200200 esi: f64d2000 edi: f72a8c88 ebp: 00000000 esp: f64d3e8c ds: 007b es: 007b ss: 0068 Process umount (pid: 926, threadinfo=f64d2000 task=f79d9900) Stack: 00000010 c016007b 0000007b ffffffef f72a8c80 f6448380 f64481e0 c02fccca f72a8c80 f6448380 f72a8cf8 f72a8820 f72a8820 f6448860 c035f8e0 c02fd1c0 f72a8820 f78775e0 f7fde560 f74971d9 00000005 10ee271a 00000010 00000000 Call Trace: [] bd_claim+0x2b/0xa0 [] rpc_depopulate+0x16a/0x190 [] rpc_rmdir+0x60/0xa0 [] rpcauth_destroy+0xd/0x60 [] rpc_destroy_client+0x4d/0x70 [] nfs_put_super+0x17/0x40 [] generic_shutdown_super+0xbf/0x200 [] kill_anon_super+0x10/0x80 [] nfs_kill_super+0x11/0x20 [] deactivate_super+0xa9/0x140 [] __mntput+0x18/0x30 [] path_release+0x29/0x30 [] sys_umount+0x81/0x90 [] sys_close+0x9f/0x100 [] sys_oldumount+0xc/0x10 [] syscall_call+0x7/0xb Removing the DCACHE_UNHASHED check makes it work again. Needs more investigation. -- Maneesh Soni IBM Linux Technology Center, IBM India Software Lab, Bangalore. Phone: +91-80-5044999 email: maneesh@in.ibm.com http://lse.sourceforge.net/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/