diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 38151b3be96..c8b08e0e831 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -1686,6 +1686,9 @@ swp_pager_async_iodone(struct buf *bp) * getpages so don't play cute tricks here. */ vm_page_invalid(m); + if (i < bp->b_pgbefore || + i >= bp->b_npages - bp->b_pgafter) + vm_page_free_invalid(m); } else { /* * If a write error occurs, reactivate page