:
:Hi Matt,
:
:Grab from...
:
:Just vnconfig and mount_ntfs it. I've put some dummy data in there.
:
:Cheers,
:Antonio Huete

    No luck.  I couldn't get it to crash.  

    Hmm.  Rumko, this is a bit drastic but here's a patch that
    will add serious debugging output to the console.  I kept
    the old patch too.  Please run this and upload a core from
    it when it crashes.  I may be able to figure out where the
    vnodes are being allocated from by looking at the backtrace.

                                                -Matt

diff --git a/sys/vfs/ntfs/ntfs_vfsops.c b/sys/vfs/ntfs/ntfs_vfsops.c
index d3d80d2..a57ec3c 100644
--- a/sys/vfs/ntfs/ntfs_vfsops.c
+++ b/sys/vfs/ntfs/ntfs_vfsops.c
@@ -633,12 +633,14 @@ 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);
        }
 
-       /* Check if only system vnodes are rest */
+       /* Check if only system vnodes are left */
        for(i=0;i<NTFS_SYSNODESNUM;i++)
                 if((ntmp->ntm_sysvn[i]) && 
                    (ntmp->ntm_sysvn[i]->v_sysref.refcnt > 1)) return (EBUSY);
@@ -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);
 
@@ -894,6 +898,8 @@ ntfs_vgetex(struct mount *mp, ino_t ino, u_int32_t 
attrtype, char *attrname,
        }
 
        error = getnewvnode(VT_NTFS, ntmp->ntm_mountp, &vp, VLKTIMEOUT, 0);
+       kprintf("NTFS: getnewvnode %p\n", vp);
+       print_backtrace();
        if(error) {
                ntfs_frele(fp);
                ntfs_ntput(ip);

Reply via email to