Source-Changes archive

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

CVS commit: syssrc



Module Name:    syssrc
Committed By:   sommerfeld
Date:           Sat Jun 10 18:44:45 UTC 2000

Modified Files:
        syssrc/sys/kern: kern_lock.c kern_synch.c subr_pool.c subr_prf.c
            vfs_subr.c
        syssrc/sys/sys: mount.h systm.h

Log Message:
Fix assorted bugs around shutdown/reboot/panic time.
 - add a new global variable, doing_shutdown, which is nonzero if
vfs_shutdown() or panic() have been called.
- in panic, set RB_NOSYNC if doing_shutdown is already set on entry
so we don't reenter vfs_shutdown if we panic'ed there.
 - in vfs_shutdown, don't use proc0's process for sys_sync unless
curproc is NULL.
 - in lockmgr, attribute successful locks to proc0 if doing_shutdown
&& curproc==NULL, and  panic if we can't get the lock right away; avoids the
spurious lockmgr DIAGNOSTIC panic from the ddb reboot command.
 - in subr_pool, deal with curproc==NULL in the doing_shutdown case.
 - in mfs_strategy, bitbucket writes if doing_shutdown, so we don't
wedge waiting for the mfs process.
 - in ltsleep, treat ((curproc == NULL) && doing_shutdown) like the
panicstr case.

Appears to fix: kern/9239, kern/10187, kern/9367.
May also fix kern/10122.


To generate a diff of this commit:
cvs rdiff -r1.31 -r1.32 syssrc/sys/kern/kern_lock.c
cvs rdiff -r1.77 -r1.78 syssrc/sys/kern/kern_synch.c
cvs rdiff -r1.36 -r1.37 syssrc/sys/kern/subr_pool.c
cvs rdiff -r1.73 -r1.74 syssrc/sys/kern/subr_prf.c
cvs rdiff -r1.127 -r1.128 syssrc/sys/kern/vfs_subr.c
cvs rdiff -r1.84 -r1.85 syssrc/sys/sys/mount.h
cvs rdiff -r1.110 -r1.111 syssrc/sys/sys/systm.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index