From owner-cvs-all@FreeBSD.ORG Sat Oct 4 17:35:42 2003 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 82C2A16A4B3; Sat, 4 Oct 2003 17:35:42 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1A90E43FEA; Sat, 4 Oct 2003 17:35:42 -0700 (PDT) (envelope-from jeff@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h950ZfXJ050549; Sat, 4 Oct 2003 17:35:41 -0700 (PDT) (envelope-from jeff@repoman.freebsd.org) Received: (from jeff@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h950ZfWK050548; Sat, 4 Oct 2003 17:35:41 -0700 (PDT) (envelope-from jeff) Message-Id: <200310050035.h950ZfWK050548@repoman.freebsd.org> From: Jeff Roberson Date: Sat, 4 Oct 2003 17:35:41 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: 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: Sun, 05 Oct 2003 00:35:42 -0000 jeff 2003/10/04 17:35:41 PDT FreeBSD src repository Modified files: sys/kern vfs_subr.c Log: - Solve a LOR with the sync_mtx by using the VI_ONWORKLST flag to determine whether or not the sync failed. This could potentially get set between the time that we VOP_UNLOCK and VI_LOCK() but the race would harmelssly lead to the sync being delayed by an extra 30 seconds. If we do not move the vnode it could cause an endless loop if it continues to fail to sync. - Use vhold and vdrop to stop the vnode from changing identities while we have it unlocked. Other internal vfs lists are likely to follow this scheme. Revision Changes Path 1.462 +12 -6 src/sys/kern/vfs_subr.c