Date: Fri, 6 Apr 2012 19:49:45 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r233958 - user/attilio/vmcontention/sys/vm Message-ID: <201204061949.q36Jnj0A023607@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: attilio Date: Fri Apr 6 19:49:45 2012 New Revision: 233958 URL: http://svn.freebsd.org/changeset/base/233958 Log: Free a cached page rather than only removing it. vm_page_cache_remove() should only be used in very little and specific cases (and marked as static likely) where the callers is going to take care also of the page flags appropriately, otherwise one can end up with a corrupted page. Reported by: pho Modified: user/attilio/vmcontention/sys/vm/vnode_pager.c Modified: user/attilio/vmcontention/sys/vm/vnode_pager.c ============================================================================== --- user/attilio/vmcontention/sys/vm/vnode_pager.c Fri Apr 6 18:18:48 2012 (r233957) +++ user/attilio/vmcontention/sys/vm/vnode_pager.c Fri Apr 6 19:49:45 2012 (r233958) @@ -416,7 +416,7 @@ vnode_pager_setsize(vp, nsize) drop = NULL; mtx_lock(&vm_page_queue_free_mtx); if (m->object == object) { - vm_page_cache_remove(m); + vm_page_cache_free(m); if (object->cached_page_count == 0) drop = vp; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204061949.q36Jnj0A023607>