From owner-cvs-all@FreeBSD.ORG Thu Mar 24 06:08:58 2005 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8021616A4CE; Thu, 24 Mar 2005 06:08:58 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 63BE343D46; Thu, 24 Mar 2005 06:08:58 +0000 (GMT) (envelope-from jeff@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j2O68wCG015241; Thu, 24 Mar 2005 06:08:58 GMT (envelope-from jeff@repoman.freebsd.org) Received: (from jeff@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j2O68wtF015240; Thu, 24 Mar 2005 06:08:58 GMT (envelope-from jeff) Message-Id: <200503240608.j2O68wtF015240@repoman.freebsd.org> From: Jeff Roberson Date: Thu, 24 Mar 2005 06:08:58 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/sys vnode.h src/sys/kern vfs_subr.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Mar 2005 06:08:58 -0000 jeff 2005-03-24 06:08:58 UTC FreeBSD src repository Modified files: sys/sys vnode.h sys/kern vfs_subr.c Log: - If vput() is called with a shared lock it must upgrade to an exclusive before it can call VOP_INACTIVE(). This must use the EXCLUPGRADE path because we may violate some lock order with another locked vnode if we drop and reacquire the lock. If EXCLUPGRADE fails, we mark the vnode with VI_OWEINACT. This case should be very rare. - Clear VI_OWEINACT in vinactive() and vbusy(). - If VI_OWEINACT is set in vgone() do the VOP_INACTIVE call here as well. Sponsored by: Isilon Systems, Inc. Revision Changes Path 1.597 +12 -3 src/sys/kern/vfs_subr.c 1.294 +1 -0 src/sys/sys/vnode.h