diff options
-rw-r--r-- | sys/kern/vfs_bio.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 2b389c370295..5053fd1ecc42 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -2090,6 +2090,8 @@ vfs_vmio_invalidate(struct buf *bp) if (m == bogus_page) panic("vfs_vmio_invalidate: Unexpected bogus page."); + presid = resid > (PAGE_SIZE - poffset) ? + (PAGE_SIZE - poffset) : resid; KASSERT(presid >= 0, ("brelse: extra page")); while (vm_page_xbusied(m)) { vm_page_lock(m); @@ -2097,8 +2099,6 @@ vfs_vmio_invalidate(struct buf *bp) vm_page_busy_sleep(m, "mbncsh"); VM_OBJECT_WLOCK(obj); } - presid = resid > (PAGE_SIZE - poffset) ? - (PAGE_SIZE - poffset) : resid; if (pmap_page_wired_mappings(m) == 0) vm_page_set_invalid(m, poffset, presid); resid -= presid; |