Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Dec 2006 11:10:17 GMT
From:      "Ulrich Spoerlein" <uspoerlein@gmail.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/92785: Using exported filesystem on OS/2 NFS client causes filesystem freeze
Message-ID:  <200612281110.kBSBAHc7066943@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/92785; it has been noted by GNATS.

From: "Ulrich Spoerlein" <uspoerlein@gmail.com>
To: "Kostik Belousov" <kostikbel@gmail.com>
Cc: bug-followup@freebsd.org, "Bruce Evans" <bde@zeta.org.au>
Subject: Re: kern/92785: Using exported filesystem on OS/2 NFS client causes filesystem freeze
Date: Thu, 28 Dec 2006 12:06:49 +0100

 On 12/27/06, Kostik Belousov <kostikbel@gmail.com> wrote:
 > The better change for UDF:
 
 The change for UDF is needed (panic otherwise) but it is NOT working.
 vn_lock() is still called and will panic, as it is locking against
 itself:
 panic: lockmgr: locking against myself
 cpuid = 1
 KDB: stack backtrace:
 kdb_backtrace(100,c8971780,3002,80,c8971780,...) at kdb_backtrace+0x29
 panic(c08904dc,c8971780,0,c090fa80,eaeec7d4,...) at panic+0x114
 lockmgr(c8d566b8,3002,c8d566dc,c8971780,eaeec7b4,...) at lockmgr+0x3da
 vop_stdlock(eaeec7d4) at vop_stdlock+0x1e
 VOP_LOCK_APV(c8d5e800,eaeec7d4) at VOP_LOCK_APV+0x87
 vn_lock(c8d56660,1002,c8971780,173,58,...) at vn_lock+0xa8
 udf_lookup(eaeec880) at udf_lookup+0x22e
 VOP_CACHEDLOOKUP_APV(c8d5e800,eaeec880) at VOP_CACHEDLOOKUP_APV+0x7e
 vfs_cache_lookup(eaeec91c) at vfs_cache_lookup+0xb2
 VOP_LOOKUP_APV(c8d5e800,eaeec91c) at VOP_LOOKUP_APV+0x87
 lookup(eaeecc0c) at lookup+0x456
 nfs_namei(eaeecc0c,eaeecb3c,2,c8c31e80,c8c1c1a0,eaeeca24,eaeeca28,eaeeca10,0,eaeeca5c,eaeeca14,c8971780,0,eaeecb3c)
 at nfs_namei+0x40e
 nfsrv_lookup(c8c18b00,c8c31e80,c8971780,eaeecc98) at nfsrv_lookup+0x1dd
 nfssvc_nfsd(c8971780) at nfssvc_nfsd+0x3d9
 nfssvc(c8971780,eaeecd04) at nfssvc+0x18c
 syscall(3b,3b,3b,1,0,...) at syscall+0x25b
 Xint0x80_syscall() at Xint0x80_syscall+0x1f
 
 
 I'm having trouble with NTFS, too. I created a small image with ntfs3g
 (which is known to DTRT most of the time). Accessing this image
 locally is working just fine. Exporting and mounting that image from a
 Linux box, I can't access this export without crashing the server.
 
 I created files foo, bar and directory test on the image, I mounted
 the export to /mnt, yet these commands all fail: stat /mnt/foo, stat
 /mnt/bar, and stat /mnt/test. stat /mnt/. is working though! As soon
 as I issue a readdir, the NFS server panics.
 
 NB: Locally, this is all working just fine! Here's the backtrace:
 
 panic: vput: null vp
 cpuid = 1
 KDB: stack backtrace:
 kdb_backtrace(100,c8983a80,4000,0,c8983a80,...) at kdb_backtrace+0x29
 panic(c089c295,c8c4ba60,9,80,0,...) at panic+0x114
 vput(0,948,0,a50,0,...) at vput+0x21
 nfsrv_readdirplus(c8be6600,c86f4d00,c8983a80,eaf10c98) at
 nfsrv_readdirplus+0xbe8
 nfssvc_nfsd(c8983a80) at nfssvc_nfsd+0x3d9
 nfssvc(c8983a80,eaf10d04) at nfssvc+0x18c
 syscall(3b,3b,3b,1,0,...) at syscall+0x25b
 Xint0x80_syscall() at Xint0x80_syscall+0x1f
 --- syscall (155, FreeBSD ELF32, nfssvc), eip = 0x280bd1b7, esp =
 0xbfbfe91c, ebp = 0xbfbfe938 ---
 KDB: enter: panic
 [thread pid 76119 tid 100100 ]
 Stopped at      kdb_enter+0x2b: nop
 db> show allpcpu
 Current CPU: 1
 
 cpuid        = 0
 curthread    = 0xc8327a80: pid 13 "swi4: clock sio"
 curpcb       = 0xe6e9bd90
 fpcurthread  = none
 idlethread   = 0xc8327780: pid 11 "idle: cpu0"
 APIC ID      = 0
 currentldt   = 0x50
 spin locks held:
 
 cpuid        = 1
 curthread    = 0xc8983a80: pid 76119 "nfsd"
 curpcb       = 0xeaf10d90
 fpcurthread  = none
 idlethread   = 0xc8327600: pid 10 "idle: cpu1"
 APIC ID      = 6
 currentldt   = 0x50
 spin locks held:
 
 db> show alllocks
 Process 76119 (nfsd) thread 0xc8983a80 (100100)
 exclusive sleep mutex Giant r = 0 (0xc09707e0) locked @
 /usr/src/sys/nfsserver/nfs_serv.c:3720
 db> show lockedvnods
 Locked vnodes
 db>
 
 Uli



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200612281110.kBSBAHc7066943>