From owner-cvs-src@FreeBSD.ORG Sat Mar 22 22:42:53 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 BFBD8106566B; Sat, 22 Mar 2008 22:42:53 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id AF8E88FC24; Sat, 22 Mar 2008 22:42:53 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id 8D6951A4D7E; Sat, 22 Mar 2008 15:42:53 -0700 (PDT) Date: Sat, 22 Mar 2008 15:42:53 -0700 From: Alfred Perlstein To: Jeff Roberson Message-ID: <20080322224253.GS67856@elvis.mu.org> References: <200803220915.m2M9FG8b051782@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200803220915.m2M9FG8b051782@repoman.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/fs/msdosfs msdosfs_vfsops.c src/sys/kern vfs_bio.c vfs_cluster.c vfs_default.c vfs_subr.c src/sys/nfs4client nfs4_vfsops.c nfs4_vnops.c src/sys/nfsclient nfs_subs.c nfs_vfsops.c nfs_vnops.c src/sys/nfsserver nfs_serv.c ... 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: Sat, 22 Mar 2008 22:42:53 -0000 * Jeff Roberson [080322 02:15] wrote: > jeff 2008-03-22 09:15:16 UTC > > FreeBSD src repository > > Modified files: > sys/fs/msdosfs msdosfs_vfsops.c > sys/kern vfs_bio.c vfs_cluster.c vfs_default.c > vfs_subr.c > sys/nfs4client nfs4_vfsops.c nfs4_vnops.c > sys/nfsclient nfs_subs.c nfs_vfsops.c nfs_vnops.c > sys/nfsserver nfs_serv.c > sys/sys buf.h bufobj.h > sys/ufs/ffs ffs_inode.c ffs_rawread.c ffs_softdep.c > ffs_vfsops.c ffs_vnops.c > Log: > - Complete part of the unfinished bufobj work by consistently using > BO_LOCK/UNLOCK/MTX when manipulating the bufobj. > - Create a new lock in the bufobj to lock bufobj fields independently. > This leaves the vnode interlock as an 'identity' lock while the bufobj > is an io lock. The bufobj lock is ordered before the vnode interlock > and also before the mnt ilock. What is an "identity lock"? Does that mean it just protects the pointer? > - Exploit this new lock order to simplify softdep_check_suspend(). > - A few sync related functions are marked with a new XXX to note that > we may not properly interlock against a non-zero bv_cnt when > attempting to sync all vnodes on a mountlist. I do not believe this > race is important. If I'm wrong this will make these locations easier > to find. > > Reviewed by: kib (earlier diff) > Tested by: kris, pho (earlier diff) > > Revision Changes Path > 1.187 +4 -0 src/sys/fs/msdosfs/msdosfs_vfsops.c > 1.541 +5 -4 src/sys/kern/vfs_bio.c > 1.177 +18 -13 src/sys/kern/vfs_cluster.c > 1.143 +12 -15 src/sys/kern/vfs_default.c > 1.722 +29 -25 src/sys/kern/vfs_subr.c > 1.33 +1 -0 src/sys/nfs4client/nfs4_vfsops.c > 1.42 +23 -29 src/sys/nfs4client/nfs4_vnops.c > 1.154 +8 -5 src/sys/nfsclient/nfs_subs.c > 1.203 +1 -0 src/sys/nfsclient/nfs_vfsops.c > 1.282 +27 -33 src/sys/nfsclient/nfs_vnops.c > 1.179 +7 -8 src/sys/nfsserver/nfs_serv.c > 1.204 +1 -1 src/sys/sys/buf.h > 1.20 +8 -16 src/sys/sys/bufobj.h > 1.110 +5 -4 src/sys/ufs/ffs/ffs_inode.c > 1.32 +11 -16 src/sys/ufs/ffs/ffs_rawread.c > 1.221 +65 -69 src/sys/ufs/ffs/ffs_softdep.c > 1.339 +4 -3 src/sys/ufs/ffs/ffs_vfsops.c > 1.181 +14 -12 src/sys/ufs/ffs/ffs_vnops.c -- - Alfred Perlstein