lockmgr panic on shutdown
peter.edwards at openet-telecom.com
peter.edwards at openet-telecom.com
Sat Nov 1 18:39:27 PST 2003
>> For giggles I'm rolling back vfs_default.c back to 1.87 since its along
>> the backtrace path.
>
>This didn't work so -CURRENT is fully broke.
>
>I'd suggest staying on 10/30 not before 4PM PST if you want to not crash
>on shutdown.
>
The patch worked for me. (Well, a slightly modified one: I passed 0 for
the
thread argument to vget: It recognises that as special).
Included here is the patch to both the ffs and default "sync" operations.
I didn't exercise the default one, but the ffs case is certainly behaving
itself.
-------------- next part --------------
Index: kern/vfs_default.c
===================================================================
RCS file: /usr/cvs/FreeBSD-CVS/src/sys/kern/vfs_default.c,v
retrieving revision 1.89
diff -u -r1.89 vfs_default.c
--- kern/vfs_default.c 1 Nov 2003 05:51:54 -0000 1.89
+++ kern/vfs_default.c 2 Nov 2003 03:36:03 -0000
@@ -898,7 +898,7 @@
}
mtx_unlock(&mntvnode_mtx);
- if ((error = vget(vp, lockreq, td)) != 0) {
+ if ((error = vget(vp, lockreq, 0)) != 0) {
mtx_lock(&mntvnode_mtx);
if (error == ENOENT)
goto loop;
Index: ufs/ffs/ffs_vfsops.c
===================================================================
RCS file: /usr/cvs/FreeBSD-CVS/src/sys/ufs/ffs/ffs_vfsops.c,v
retrieving revision 1.221
diff -u -r1.221 ffs_vfsops.c
--- ufs/ffs/ffs_vfsops.c 1 Nov 2003 05:51:54 -0000 1.221
+++ ufs/ffs/ffs_vfsops.c 2 Nov 2003 03:22:13 -0000
@@ -1158,7 +1158,7 @@
continue;
}
mtx_unlock(&mntvnode_mtx);
- if ((error = vget(vp, lockreq, td)) != 0) {
+ if ((error = vget(vp, lockreq, 0)) != 0) {
mtx_lock(&mntvnode_mtx);
if (error == ENOENT)
goto loop;
More information about the freebsd-current
mailing list