* Rex Luo <[EMAIL PROTECTED]> [010821 04:14] wrote: > Dear, > > I modifid kernel to write to disk directly after unmount all mounted > filesystem in boot() kern/kern_shutdown.c. However, I found that my IO requests > wouldn't have callback from device interrupt routine. I traced the codes and use > gdb to find something out. The interesting is after execute > > vfs_unmountall() -> dounmount() -> ffs_unmount() -> ffs_flushfiles() -> > vflush()-> ??? the interrupt mask is set by splbio() without splx(), > therefore, all my following requests cannot return. > > Notice that, the situation only happens after heavy IO, for example: cp 30 files > at the same time. > > I use spl0() to solve the prolbem, but I think it's not the right way to do > that. Can anyone provide some clues or suggestions. That makes no sense. All you need to do is find the where the splbio() is that doesn't have a corresponding splx(). You can use the SPLASSERT functions to do that. -- -Alfred Perlstein [[EMAIL PROTECTED]] Ok, who wrote this damn function called '??'? And why do my programs keep crashing in it? To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message