Date: Sat, 22 Mar 2008 15:42:53 -0700 From: Alfred Perlstein <alfred@freebsd.org> To: Jeff Roberson <jeff@FreeBSD.org> 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 ... Message-ID: <20080322224253.GS67856@elvis.mu.org> In-Reply-To: <200803220915.m2M9FG8b051782@repoman.freebsd.org> References: <200803220915.m2M9FG8b051782@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
* Jeff Roberson <jeff@FreeBSD.org> [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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080322224253.GS67856>