git: Kernel - Fix issues with vnode_pager_setsize() (effects NFS

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