git: Kernel - more NFS fixes, more dirty bit fixes, remove vfs_bio_set_validclean()

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Aug 24 16:32:49 PDT 2009


commit 1a54183b97974fc4fb7e564cf05a7e94db2a31c6
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Aug 24 16:27:32 2009 -0700

    Kernel - more NFS fixes, more dirty bit fixes, remove vfs_bio_set_validclean()
    
    * Remove vfs_bio_set_validclean().  It is no longer needed.
    
    * General getpages operations must clear dirty bits non-inclusive of
      the end of the range.  A read which partially overlaps dirty VM
      pages shouldn't happen in the first place but if it were to happen
      we don't want to lose the dirty status on the DEV_BSIZE'd chunk
      straddling the end of the read.
    
    * General truncation support.  Replace previous fix with a call to
      a new inline, vm_page_clear_dirty_beg_nonincl().  Similar to
      the getpages() issue, we do not want to lose the dirty status
      on the DEV_BSIZE'd chunk straddling the beginning of a truncation.
    
      (side note: Only effecs NFS as all other filesystems DEV_BSIZE-align
      their operations, but a good general fix in anycase).

Summary of changes:
 sys/kern/vfs_bio.c          |   15 ++++++-----
 sys/sys/buf.h               |    1 -
 sys/vfs/devfs/devfs_vnops.c |    8 ++++--
 sys/vfs/nfs/nfs_bio.c       |   12 +++++++--
 sys/vm/vm_page.c            |   54 +++++++++++++++++++++++-------------------
 sys/vm/vm_page.h            |    1 +
 sys/vm/vm_page2.h           |   35 +++++++++++++++++++++++++++
 sys/vm/vnode_pager.c        |   11 +++-----
 8 files changed, 92 insertions(+), 45 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1a54183b97974fc4fb7e564cf05a7e94db2a31c6


-- 
DragonFly BSD source repository





More information about the Commits mailing list