diff options
author | attilio <attilio@FreeBSD.org> | 2012-06-16 21:39:00 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2012-06-16 21:39:00 +0000 |
commit | 5d0dc848b7f4ce663572d1e0b1e52b429305fe62 (patch) | |
tree | 37c791888aa5c0a9a27450d873f6174f299fc06c /sys/vm/vnode_pager.c | |
parent | 3762f77b7e941feea911c01384c445ccc6c3c86e (diff) | |
download | FreeBSD-src-5d0dc848b7f4ce663572d1e0b1e52b429305fe62.zip FreeBSD-src-5d0dc848b7f4ce663572d1e0b1e52b429305fe62.tar.gz |
Do a more targeted check on the page cache and avoid to check the cache
pointer directly in vnode_pager_setsize() by using newly introduced
vm_page_is_cached() function.
Reviewed by: alc
MFC after: 2 weeks
X-MFC: r234039,234064
Diffstat (limited to 'sys/vm/vnode_pager.c')
-rw-r--r-- | sys/vm/vnode_pager.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index aae0777..9c12be1 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -440,7 +440,7 @@ vnode_pager_setsize(vp, nsize) */ vm_page_clear_dirty(m, base, PAGE_SIZE - base); } else if ((nsize & PAGE_MASK) && - __predict_false(object->cache != NULL)) { + vm_page_is_cached(object, OFF_TO_IDX(nsize))) { vm_page_cache_free(object, OFF_TO_IDX(nsize), nobjsize); } |