: :Hmm. The way the revamped console code works is this: : : cn_devopen() calls vn_open() to open the device. If this is not a :VCHR device, then it is closed. Otherwise, the vnode is stashed in :cnd->cnd_vp. : : When the device is closed though cnclose(), it walks through a list :of console devices, and if cnd_vp != NULL, calls vn_close() for that :vnode, and then NULLs out cnd_vp. (drops the reference.) : : My understanding is that vn_open/vn_close will track the count of :outstanding references to the vnode, so this should be safe to do. :-- :Jonathan
The panic is due to v_writecount not being properly adjusted. If a vnode is opened with FWRITE in vn_open(), then it must be closed with VWRITE in vn_close() or v_writecount will not be properly adjusted and cause the panic in question to occur later in vrele(). I suspect that this is the problem with the devfs/console code. -Matt To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message