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>