Date: Fri, 1 Feb 2002 17:49:19 -0800 (PST) From: Kirk McKusick <mckusick@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_subr.c Message-ID: <200202020149.g121nJI67647@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
mckusick 2002/02/01 17:49:19 PST
Modified files:
sys/kern vfs_subr.c
Log:
In the routines vrele() and vput(), we must lock the vnode and
call VOP_INACTIVE before placing the vnode back on the free list.
Otherwise there is a race condition on SMP machines between
getnewvnode() locking the vnode to reclaim it and vrele()
locking the vnode to inactivate it. This window of vulnerability
becomes exaggerated in the presence of filesystems that have
been suspended as the inactive routine may need to temporarily
release the lock on the vnode to avoid deadlock with the syncer
process.
Revision Changes Path
1.340 +15 -15 src/sys/kern/vfs_subr.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202020149.g121nJI67647>
