2008/7/30 Konstantin Belousov <[EMAIL PROTECTED]>: > kib 2008-07-30 18:16:06 UTC > > FreeBSD src repository > > Modified files: > sys/vm vnode_pager.c > Log: > SVN rev 181004 on 2008-07-30 18:16:06Z by kib > > The behaviour of the lockmgr going back at least to the 4.4BSD-Lite2 was > to downgrade the exclusive lock to shared one when exclusive lock owner > requested shared lock. New lockmgr panics instead. > > The vnode_pager_lock function requests shared lock on the vnode backing > the OBJT_VNODE, and can be called when the current thread already holds > an exlcusive lock on the vnode. For instance, it happens when handling > page fault from the VOP_WRITE() uiomove that writes to the file, with > the faulted in page fetched from the vm object backed by the same file. > We then get the situation described above. > > Verify whether the vnode is already exclusively locked by the curthread > and request recursed exclusive vnode lock instead of shared, if true.
Many thanks. Attilio -- Peace can only be achieved by understanding - A. Einstein _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"