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