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 ...
Alfred Perlstein
alfred at freebsd.org
Sat Mar 22 15:42:53 PDT 2008
* Jeff Roberson <jeff at 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
More information about the cvs-src
mailing list