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