diff options
| author | Gleb Smirnoff <glebius@FreeBSD.org> | 2017-01-04 22:31:09 +0000 |
|---|---|---|
| committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2017-01-04 22:31:09 +0000 |
| commit | 1e0c121f3ac0791243f7766babd313a8aea48703 (patch) | |
| tree | fab8e75de91ce82cb5334aeda71e8d0d38f37aa7 /sys/vm | |
| parent | bfc8c24c7350da9093271263d46897862b259068 (diff) | |
Notes
Diffstat (limited to 'sys/vm')
| -rw-r--r-- | sys/vm/vnode_pager.c | 12 |
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 /* |
