From owner-cvs-src@FreeBSD.ORG Fri Mar 28 12:30:19 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9625106566C; Fri, 28 Mar 2008 12:30:19 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B1AEF8FC1E; Fri, 28 Mar 2008 12:30:19 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2SCUElu068961; Fri, 28 Mar 2008 12:30:14 GMT (envelope-from attilio@repoman.freebsd.org) Received: (from attilio@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2SCUExt068960; Fri, 28 Mar 2008 12:30:14 GMT (envelope-from attilio) Message-Id: <200803281230.m2SCUExt068960@repoman.freebsd.org> From: Attilio Rao Date: Fri, 28 Mar 2008 12:30:12 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/kern vfs_bio.c vfs_subr.c src/sys/sys buf.h lockmgr.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Mar 2008 12:30:19 -0000 attilio 2008-03-28 12:30:12 UTC FreeBSD src repository Modified files: sys/kern vfs_bio.c vfs_subr.c sys/sys buf.h lockmgr.h Log: b_waiters cannot be adequately protected by the interlock because it is dropped after the call to lockmgr() so just revert this approach using something similar to the precedent one: BUF_LOCKWAITERS() just checks if there are waiters (not the actual number of them) and it is based on newly introduced lockmgr_waiters() which returns if the lockmgr has waiters or not. The name has been choosen differently by old lockwaiters() in order to not confuse them. KPI results enriched by this commit so __FreeBSD_version bumping and manpage update will be happening soon. 'struct buf' also changes, so kernel ABI is disturbed. Bug found by: jeff Approved by: jeff, kib Revision Changes Path 1.542 +6 -8 src/sys/kern/vfs_bio.c 1.726 +1 -5 src/sys/kern/vfs_subr.c 1.207 +15 -39 src/sys/sys/buf.h 1.67 +2 -0 src/sys/sys/lockmgr.h