看板 DFBSD_bugs 關於我們 聯絡資訊
: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. -Matt diff --git a/sys/vfs/ntfs/ntfs_vfsops.c b/sys/vfs/ntfs/ntfs_vfsops.c index 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);