DragonFly bugs List (threaded) for 2008-04
DragonFly BSD
DragonFly bugs List (threaded) for 2008-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Panic in a vkernel: getblk: vnode 0x669232e8 has no object!


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 1 Apr 2008 22:53:57 -0700 (PDT)

:Hm:
:"/home/var.vkernel/memimg.000000" is not a core dump: File format not
:recognized" guess not? (tried it with gdb not kgdb)

    Heh.  No but you CAN gdb the live vkernel (assuming it dropped into
    db> it is still running).

    In anycase, don't bother going that far.  There's definitely a bug
    here.  The vnode is supposed to have a VM object associated with it
    and clearly there must be a path where that vnode can be instantiated
    without one.

    Can you by any chance reproduce the bug to test that this patch
    fixes the problem?

						-Matt

Index: ufs_inode.c
===================================================================
RCS file: /cvs/src/sys/vfs/ufs/ufs_inode.c,v
retrieving revision 1.24
diff -u -p -r1.24 ufs_inode.c
--- ufs_inode.c	2 Jan 2008 22:42:37 -0000	1.24
+++ ufs_inode.c	2 Apr 2008 05:51:41 -0000
@@ -87,6 +87,8 @@ 		if (!ufs_getinoquota(ip))
 			(void)ufs_chkiq(ip, -1, NOCRED, FORCE);
 #endif
 		/* Must have a VM object to truncate */
+		if (vp->v_object == NULL)
+			vinitvmio(vp, 0);
 		error = ffs_truncate(vp, (off_t)0, 0, NOCRED);
 		ip->i_rdev = 0;
 		mode = ip->i_mode;



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]