看板 DFBSD_commit 關於我們 聯絡資訊
commit c7841cbec4a96ffd7a4d6b4f0b8d3d07f9e278da Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Mon Aug 24 15:37:34 2009 -0700 Kernel - Fix issues with vnode_pager_setsize() (effects NFS only) * When truncating a file to non-zero length, if the filesystem calls vnode_pager_setsize() with a truncation offset that is not a multiple of DEV_BSIZE vnode_pager_setsize() will improperly clear the dirty bit for the overlapping DEV_BSIZE'd block in the VM page straddling the truncation point. This only effects NFS. The fsx filesystem test was failing due to a lost dirty page after a truncation. Reported-by: Antonio Huete Jimenez <tuxillo@quantumachine.net> Summary of changes: sys/kern/kern_slaballoc.c | 4 +++ sys/kern/kern_subr.c | 48 +++++++++++++++++++++++++++++++++++++++++++++ sys/sys/systm.h | 1 + sys/sys/uio.h | 1 + sys/vm/vm_page.c | 5 ++++ sys/vm/vnode_pager.c | 15 ++++++++++++- 6 files changed, 72 insertions(+), 2 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c7841cbec4a96ffd7a4d6b4f0b8d3d07f9e278da -- DragonFly BSD source repository