git: Kernel - more NFS fixes, more dirty bit fixes, remove vfs_b

看板DFBSD_commit作者時間16年前 (2009/08/25 08:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 1a54183b97974fc4fb7e564cf05a7e94db2a31c6 Author: Matthew Dillon <dillon@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
文章代碼(AID): #1Aaod491 (DFBSD_commit)