Hi, On Aug 10, 2005, at 12:02 PM, Don Lewis wrote: > What is preventing VI_DOOMED from being set while we're waiting for > VOP_LOCK()? Contrary to what the VOP_LOCK(9) man page says about > LK_INTERLOCK, it looks like lockmgr() drops the vnode interlock before > it attempts to grab the vnode lock. VI_DOOMED is only set by vgonel(), and it requires both the vnode and the interlock locked. void vgonel(struct vnode *vp) { struct thread *td; int oweinact; int active; CTR1(KTR_VFS, "vgonel: vp %p", vp); ASSERT_VOP_LOCKED(vp, "vgonel"); ASSERT_VI_LOCKED(vp, "vgonel"); -- Suleiman Souhlal | ssouhlal_at_vt.edu The FreeBSD Project | ssouhlal_at_FreeBSD.orgReceived on Wed Aug 10 2005 - 08:18:30 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:41 UTC