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 ...
Jeff Roberson
jeff at FreeBSD.org
Sat Mar 22 02:15:17 PDT 2008
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.
- 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
More information about the cvs-src
mailing list