Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Aug 2003 23:55:19 -0700 (PDT)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/sys buf.h src/sys/kern vfs_bio.c vfs_cluster.c src/sys/ufs/ffs ffs_softdep.c
Message-ID:  <200308280655.h7S6tJTS064892@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jeff        2003/08/27 23:55:18 PDT

  FreeBSD src repository

  Modified files:
    sys/sys              buf.h 
    sys/kern             vfs_bio.c vfs_cluster.c 
    sys/ufs/ffs          ffs_softdep.c 
  Log:
   - Move BX_BKGRDWAIT and BX_BKGRDINPROG to BV_ and the b_vflags field.
   - Surround all accesses of the BKGRD{WAIT,INPROG} flags with the vnode
     interlock.
   - Don't use the B_LOCKED flag and QUEUE_LOCKED for background write
     buffers.  Check for the BKGRDINPROG flag before recycling or throwing
     away a buffer.  We do this instead because it is not safe for us to move
     the original buffer to a new queue from the callback on the background
     write buffer.
   - Remove the B_LOCKED flag and the locked buffer queue.  They are no longer
     used.
   - The vnode interlock is used around checks for BKGRDINPROG where it may
     not be strictly necessary.  If we hold the buf lock the a back-ground
     write will not be started without our knowledge, one may only be
     completed while we're not looking.  Rather than remove the code, Document
     two of the places where this extra locking is done.  A pass should be
     done to verify and minimize the locking later.
  
  Revision  Changes    Path
  1.398     +78 -73    src/sys/kern/vfs_bio.c
  1.143     +11 -7     src/sys/kern/vfs_cluster.c
  1.155     +8 -5      src/sys/sys/buf.h
  1.140     +20 -12    src/sys/ufs/ffs/ffs_softdep.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308280655.h7S6tJTS064892>