From: "Lever, Charles" Subject: RE: [PATCH] spinlock recursion on inode number mismatches Date: Thu, 17 Nov 2005 14:34:32 -0800 Message-ID: <044B81DE141D7443BCE91E8F44B3C1E2013327C0@exsvl02.hq.netapp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Cc: Return-path: To: "Steve Dickson" Sender: nfs-admin@lists.sourceforge.net Errors-To: nfs-admin@lists.sourceforge.net List-Unsubscribe: , List-Id: Discussion of NFS under Linux development, interoperability, and testing. List-Post: List-Help: List-Subscribe: , List-Archive: > When compiling over NFS using a 2.6.14 kernel, the following > spinlock recursion BUG popped: >=20 > nfs_update_inode: inode number mismatch > expected (0:16/0x1dee71a), got (0:16/0x100000000000000) > nfs_update_inode: inode number mismatch > expected (0:16/0x1dee71a), got (0:16/0x1dee719) > nfs_update_inode: inode number mismatch > expected (0:16/0x1dee71a), got (0:16/0x0) > nfs_update_inode: inode number mismatch > expected (0:16/0x1dee71a), got (0:16/0x1dee719) > BUG: spinlock recursion on CPU#0, bhc/22635 (Not tainted) > lock: db7294e8, .magic: dead4ead, .owner: bhc/22635, .owner_cpu: 0 > [] spin_bug+0xa3/0xd7 > [] _raw_spin_lock+0x68/0x6a > [] nfs_zap_caches+0x1a/0xaa [nfs] > [] nfs_update_inode+0x9f/0x618 [nfs] > [] _spin_unlock_irq+0x5/0x7 > [] nfs_post_op_update_inode+0x2c/0x67 [nfs] > [] nfs3_proc_remove+0x9e/0xd7 [nfs] > [] nfs_safe_remove+0x68/0xc4 [nfs] > [] nfs_unlink+0xa8/0x10e [nfs] > [] vfs_unlink+0x19f/0x1a6 > [] sys_unlink+0xbd/0x13e > [] do_page_fault+0x262/0x650 > [] do_sync_read+0x0/0x116 > [] syscall_call+0x7/0xb > Kernel panic - not syncing: bad locking > [] panic+0x45/0x1c5 > [] __spin_lock_debug+0x0/0xcf > [] _raw_spin_lock+0x68/0x6a > [] nfs_zap_caches+0x1a/0xaa [nfs] > [] nfs_update_inode+0x9f/0x618 [nfs] > [] _spin_unlock_irq+0x5/0x7 > [] nfs_post_op_update_inode+0x2c/0x67 [nfs] > [] nfs3_proc_remove+0x9e/0xd7 [nfs] > [] nfs_safe_remove+0x68/0xc4 [nfs] > [] nfs_unlink+0xa8/0x10e [nfs] > [] vfs_unlink+0x19f/0x1a6 > [] sys_unlink+0xbd/0x13e > [] do_page_fault+0x262/0x650 > [] do_sync_read+0x0/0x116 > [] syscall_call+0x7/0xb >=20 > The attached patch solve the problem by the problem by moving > the call to nfs_invalidate_inode() out of nfs_invalidate_inode(). steve- can you send a diagram of the lock recursion you see? ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click _______________________________________________ NFS maillist - NFS@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs