Date: Fri, 15 May 2009 04:33:35 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r192134 - in head/sys: fs/smbfs nfsclient vm Message-ID: <200905150433.n4F4XZRj012123@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: alc Date: Fri May 15 04:33:35 2009 New Revision: 192134 URL: http://svn.freebsd.org/changeset/base/192134 Log: Eliminate unnecessary clearing of the page's dirty mask from various getpages functions. Eliminate a stale comment. Modified: head/sys/fs/smbfs/smbfs_io.c head/sys/nfsclient/nfs_bio.c head/sys/vm/vnode_pager.c Modified: head/sys/fs/smbfs/smbfs_io.c ============================================================================== --- head/sys/fs/smbfs/smbfs_io.c Fri May 15 01:54:32 2009 (r192133) +++ head/sys/fs/smbfs/smbfs_io.c Fri May 15 04:33:35 2009 (r192134) @@ -524,7 +524,9 @@ smbfs_getpages(ap) * Read operation filled a partial page. */ m->valid = 0; - vm_page_set_validclean(m, 0, size - toff); + vm_page_set_valid(m, 0, size - toff); + KASSERT((m->dirty & vm_page_bits(0, size - toff)) == 0, + ("smbfs_getpages: page %p is dirty", m)); } else { /* * Read operation was short. If no error occured Modified: head/sys/nfsclient/nfs_bio.c ============================================================================== --- head/sys/nfsclient/nfs_bio.c Fri May 15 01:54:32 2009 (r192133) +++ head/sys/nfsclient/nfs_bio.c Fri May 15 04:33:35 2009 (r192134) @@ -216,7 +216,9 @@ nfs_getpages(struct vop_getpages_args *a * Read operation filled a partial page. */ m->valid = 0; - vm_page_set_validclean(m, 0, size - toff); + vm_page_set_valid(m, 0, size - toff); + KASSERT((m->dirty & vm_page_bits(0, size - toff)) == 0, + ("nfs_getpages: page %p is dirty", m)); } else { /* * Read operation was short. If no error occured Modified: head/sys/vm/vnode_pager.c ============================================================================== --- head/sys/vm/vnode_pager.c Fri May 15 01:54:32 2009 (r192133) +++ head/sys/vm/vnode_pager.c Fri May 15 04:33:35 2009 (r192134) @@ -939,17 +939,18 @@ vnode_pager_generic_getpages(vp, m, byte mt)); } else { /* - * Read did not fill up entire page. Since this - * is getpages, the page may be mapped, so we have - * to zero the invalid portions of the page even - * though we aren't setting them valid. + * Read did not fill up entire page. * * Currently we do not set the entire page valid, * we just try to clear the piece that we couldn't * read. */ - vm_page_set_validclean(mt, 0, + vm_page_set_valid(mt, 0, object->un_pager.vnp.vnp_size - tfoff); + KASSERT((mt->dirty & vm_page_bits(0, + object->un_pager.vnp.vnp_size - tfoff)) == 0, + ("vnode_pager_generic_getpages: page %p is dirty", + mt)); } if (i != reqpage) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905150433.n4F4XZRj012123>