aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/kern/vfs_bio.c4
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;