vnode_pager: use ptoa(), atop()

In vnode_pager.c, use ptoa() or atop() instead of arithmetic with
PAGE_SIZE or PAGE_SHIFT.

Reviewed by:	alc, kib
Differential Revision:	https://reviews.freebsd.org/D49330
This commit is contained in:
Doug Moore
2025-12-23 12:34:20 -06:00
parent 1aea5b0ba7
commit 1e8c2cb328
+10 -10
View File
@@ -388,7 +388,7 @@ vnode_pager_haspage(vm_object_t object, vm_pindex_t pindex, int *before,
return FALSE;
bsize = vp->v_mount->mnt_stat.f_iosize;
pagesperblock = bsize / PAGE_SIZE;
pagesperblock = atop(bsize);
blocksperpage = 0;
if (pagesperblock > 0) {
reqblock = pindex / pagesperblock;
@@ -645,8 +645,8 @@ vnode_pager_addr(struct vnode *vp, vm_ooffset_t address, daddr_t *rtaddress,
*rtaddress += voffset / DEV_BSIZE;
if (run) {
*run += 1;
*run *= bsize / PAGE_SIZE;
*run -= voffset / PAGE_SIZE;
*run *= atop(bsize);
*run -= atop(voffset);
}
}
@@ -909,7 +909,7 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int count,
object = vp->v_object;
foff = IDX_TO_OFF(m[0]->pindex);
bsize = vp->v_mount->mnt_stat.f_iosize;
pagesperblock = bsize / PAGE_SIZE;
pagesperblock = atop(bsize);
KASSERT(foff < object->un_pager.vnp.vnp_size,
("%s: page %p offset beyond vp %p size", __func__, m[0], vp));
@@ -991,7 +991,7 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int count,
bp->b_blkno += (foff % bsize) / DEV_BSIZE;
/* Recalculate blocks available after/before to pages. */
poff = (foff % bsize) / PAGE_SIZE;
poff = atop(foff % bsize);
before *= pagesperblock;
before += poff;
after *= pagesperblock;
@@ -1172,14 +1172,14 @@ vnode_pager_generic_getpages_done(struct buf *bp)
runningbufwakeup(bp);
if (error == 0 && bp->b_bcount != bp->b_npages * PAGE_SIZE) {
if (error == 0 && bp->b_bcount != ptoa(bp->b_npages)) {
if (!buf_mapped(bp)) {
bp->b_data = bp->b_kvabase;
pmap_qenter((vm_offset_t)bp->b_data, bp->b_pages,
bp->b_npages);
}
bzero(bp->b_data + bp->b_bcount,
PAGE_SIZE * bp->b_npages - bp->b_bcount);
ptoa(bp->b_npages) - bp->b_bcount);
}
if (buf_mapped(bp)) {
pmap_qremove((vm_offset_t)bp->b_data, bp->b_npages);
@@ -1258,7 +1258,7 @@ vnode_pager_putpages(vm_object_t object, vm_page_t *m, int count,
{
int rtval __diagused;
struct vnode *vp;
int bytes = count * PAGE_SIZE;
int bytes = ptoa(count);
/*
* Force synchronous operation if we are extremely low on memory
@@ -1329,7 +1329,7 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount,
static int curfail;
object = vp->v_object;
count = bytecount / PAGE_SIZE;
count = atop(bytecount);
for (i = 0; i < count; i++)
rtvals[i] = VM_PAGER_ERROR;
@@ -1342,7 +1342,7 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount,
return (VM_PAGER_BAD);
}
maxsize = count * PAGE_SIZE;
maxsize = ptoa(count);
ncount = count;
poffset = IDX_TO_OFF(ma[0]->pindex);