aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2017-01-04 22:31:09 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2017-01-04 22:31:09 +0000
commit1e0c121f3ac0791243f7766babd313a8aea48703 (patch)
treefab8e75de91ce82cb5334aeda71e8d0d38f37aa7 /sys/vm
parentbfc8c24c7350da9093271263d46897862b259068 (diff)
Notes
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vnode_pager.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index 42ef98c0e49d..ccb4b8a5713a 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -974,10 +974,14 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int count,
#ifdef INVARIANTS
KASSERT(bp->b_npages <= nitems(bp->b_pages),
("%s: buf %p overflowed", __func__, bp));
- for (int j = 1; j < bp->b_npages; j++)
- KASSERT(bp->b_pages[j]->pindex - 1 ==
- bp->b_pages[j - 1]->pindex,
- ("%s: pages array not consecutive, bp %p", __func__, bp));
+ for (int j = 1, prev = 1; j < bp->b_npages; j++) {
+ if (bp->b_pages[j] == bogus_page)
+ continue;
+ KASSERT(bp->b_pages[j]->pindex - bp->b_pages[prev]->pindex ==
+ j - prev, ("%s: pages array not consecutive, bp %p",
+ __func__, bp));
+ prev = j;
+ }
#endif
/*