panic: unmount: dangling vnode

Tim Bisson tbisson at gmx.com
Tue Feb 9 20:52:04 PST 2010


On Feb 9, 2010, at 6:21 PM, Matthew Dillon wrote::I had a ntfs read-only mount and copied a few files off of it. After that I:tried unmounting it, which resulted in the panic mentioned in the subject. The:core is available at leaf:~rumko/crash/vnode/*.6 and the kernel was from about:31st Jan.    Ok, try this patch.  It looks like NTFS accesses auxillary vnodes    while flushing other vnodes, so a single vflush scan won't catch them    all.  I don't even know if multiple vflushes will catch them all    but lets try it and find out.					-Mattdiff --git a/sys/vfs/ntfs/ntfs_vfsops.c b/sys/vfs/ntfs/ntfs_vfsops.cindex d3d80d2..2a8c1a5 100644--- a/sys/vfs/ntfs/ntfs_vfsops.c+++ b/sys/vfs/ntfs/ntfs_vfsops.c@@ -633,6 +633,8 @@ ntfs_unmount(struct mount *mp, int mntflags) 	dprintf(("ntfs_unmount: vflushing...\n")); 	error = vflush(mp, 0, flags | SKIPSYSTEM);+	error = vflush(mp, 0, flags | SKIPSYSTEM);+	error = vflush(mp, 0, flags | SKIPSYSTEM); 	if (error) { 		kprintf("ntfs_unmount: vflush failed: %d\n",error); 		return (error);@@ -649,6 +651,8 @@ ntfs_unmount(struct mount *mp, int mntflags) 	/* vflush system vnodes */ 	error = vflush(mp, 0, flags);+	error = vflush(mp, 0, flags);+	error = vflush(mp, 0, flags); 	if (error) 		kprintf("ntfs_unmount: vflush failed(sysnodes): %d\n",error);Hi,I tried your patch, but it didn't solve the problem. I'm using a x86_64 kernel from Jan 30th on xen.(gdb) bt#0  Debugger (msg=<value optimized out>)    at /usr/src/sys/platform/pc64/x86_64/db_interface.c:360#1  0xffffffff8036aa0d in panic (fmt=0xffffffff8064bb8e "unmount: dangling vnode")    at /usr/src/sys/kern/kern_shutdown.c:742#2  0xffffffff803d3762 in dounmount (mp=0xffffffff91f64260, flags=0)    at /usr/src/sys/kern/vfs_syscalls.c:783#3  0xffffffff803d38d0 in sys_unmount (uap=0xffffffffb2f07b48)    at /usr/src/sys/kern/vfs_syscalls.c:618#4  0xffffffff805c40fa in syscall2 (frame=0xffffffffb2f07bf8)    at /usr/src/sys/platform/pc64/x86_64/trap.c:1189#5  0xffffffff805bcce3 in Xfast_syscall ()    at /usr/src/sys/platform/pc64/x86_64/exception.S:304#6  0x00007ffffffffa8f in ?? ()Reply contains invalid hex digit 84Here's the info I have regarding the ntfs partition I'm testing with:vm11 /usr/src/sys/vfs/ntfs/$ df | grep ad2/dev/ad2                                 51200       6196     45004    12%    /mntvm1 /usr/src/sys/vfs/ntfs/$ mount | grep ad2/dev/ad2 on /mnt (ntfs, local)vm1 /usr/src/sys/vfs/ntfs/$ du  /mnt/0	/mnt/$Extend352	/mnt/boot/common16	/mnt/boot/ficl/i38616	/mnt/boot/ficl/ia6481	/mnt/boot/ficl/softwords16	/mnt/boot/ficl/sparc64545	/mnt/boot/ficl112	/mnt/boot/forth1025	/mnt/boot3221	/mnt/Tim



More information about the Bugs mailing list