Messages in this thread | | | Subject | Re: [PATCH] nfs: init req_lock in nfs_alloc_inode | From | Trond Myklebust <> | Date | Tue, 20 Feb 2007 10:10:00 -0500 |
| |
On Fri, 2007-02-16 at 11:05 -0600, Olof Johansson wrote: > Seems like req_lock is never initialized. CONFIG_DEBUG_SPINLOCK reported: > > BUG: spinlock bad magic on CPU#0, mount/1073 > lock: c00000007fdca108, .magic: 00000000, .owner: /24576, .owner_cpu: 0 > Call Trace: > [C00000007E913750] [C0000000000107B4] .show_stack+0x54/0x1f0 (unreliable) > [C00000007E913800] [C0000000001D2234] .spin_bug+0xa4/0x120 > [C00000007E913890] [C0000000001D247C] ._raw_spin_lock+0xdc/0x1d0 > [C00000007E913930] [C0000000004DF990] ._spin_lock+0x10/0x30 > [C00000007E9139B0] [C00000000017623C] .nfs_sync_mapping_wait+0xac/0x310 > [C00000007E913AA0] [C000000000176F18] .nfs_sync_mapping_range+0x98/0x110 > [C00000007E913B80] [C00000000016CAA0] .nfs_getattr+0x40/0xf0 > [C00000007E913C20] [C0000000000BE668] .vfs_getattr+0x38/0x70 > [C00000007E913CA0] [C0000000000BF05C] .vfs_fstat+0x3c/0x70 > [C00000007E913D30] [C0000000000BF0B8] .sys_fstat64+0x28/0x60 > [C00000007E913E30] [C000000000008608] syscall_exit+0x0/0x40 > > > Signed-off-by: Olof Johansson <olof@lixom.net> > > --- > > Trond, is your MAINTAINERS entry up to date? Seems like you mostly post > from @netapp.com these days.
I tend to be easier to get hold of via the fys.uio.no address, since that isn't hidden behind a VPN. I use the netapp.com address when posting patches etc since that is sort of required by the developers certificate of origin.
> Index: linux-2.6/fs/nfs/inode.c > =================================================================== > --- linux-2.6.orig/fs/nfs/inode.c > +++ linux-2.6/fs/nfs/inode.c > @@ -1123,6 +1123,7 @@ struct inode *nfs_alloc_inode(struct sup > nfsi->flags = 0UL; > nfsi->cache_validity = 0UL; > nfsi->cache_change_attribute = jiffies; > + nfsi->req_lock = SPIN_LOCK_UNLOCKED; > #ifdef CONFIG_NFS_V3_ACL > nfsi->acl_access = ERR_PTR(-EAGAIN); > nfsi->acl_default = ERR_PTR(-EAGAIN);
As Andrew implied, this spin lock should already be initialised by the slab allocator in the "init_once" callback. Is this a vanilla kernel, or do you have any extra patches applied?
Cheers Trond
- 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/
| |