diff options
author | dg <dg@FreeBSD.org> | 1995-02-22 10:34:34 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1995-02-22 10:34:34 +0000 |
commit | 50d42d0c5021759bf379d86fdfdacedbb078f703 (patch) | |
tree | b1e0124da8fecc1879415614778ab0129073e77d /sys/vm/vnode_pager.c | |
parent | 29a4bea1cebad9da4bd42aef4eaa7764e0010309 (diff) | |
download | FreeBSD-src-50d42d0c5021759bf379d86fdfdacedbb078f703.zip FreeBSD-src-50d42d0c5021759bf379d86fdfdacedbb078f703.tar.gz |
Changed return value from vnode_pager_addr to be in DEV_BSIZE units so
that 9 bits aren't lost in the conversion. Changed all callers to expect
this. This allows paging on large (>2GB) filesystems.
Submitted by: John Dyson
Diffstat (limited to 'sys/vm/vnode_pager.c')
-rw-r--r-- | sys/vm/vnode_pager.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index be36ec9..77a362d 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -37,7 +37,7 @@ * SUCH DAMAGE. * * from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91 - * $Id: vnode_pager.c,v 1.23 1995/02/21 01:22:48 davidg Exp $ + * $Id: vnode_pager.c,v 1.24 1995/02/22 09:15:35 davidg Exp $ */ /* @@ -517,7 +517,7 @@ vnode_pager_addr(vp, address, run) if (err || (block == -1)) rtaddress = -1; else { - rtaddress = block * DEV_BSIZE + voffset; + rtaddress = block + voffset / DEV_BSIZE; if( run) { *run += 1; *run *= bsize/PAGE_SIZE; @@ -622,7 +622,7 @@ vnode_pager_input_smlfs(vnp, m) if (bp->b_wcred != NOCRED) crhold(bp->b_wcred); bp->b_un.b_addr = (caddr_t) kva + i * bsize; - bp->b_blkno = fileaddr / DEV_BSIZE; + bp->b_blkno = fileaddr; pbgetvp(dp, bp); bp->b_bcount = bsize; bp->b_bufsize = bsize; @@ -912,7 +912,7 @@ vnode_pager_input(vnp, m, count, reqpage) crhold(bp->b_rcred); if (bp->b_wcred != NOCRED) crhold(bp->b_wcred); - bp->b_blkno = firstaddr / DEV_BSIZE; + bp->b_blkno = firstaddr; pbgetvp(dp, bp); bp->b_bcount = size; bp->b_bufsize = size; @@ -938,7 +938,7 @@ vnode_pager_input(vnp, m, count, reqpage) crhold(bpa->b_rcred); if (bpa->b_wcred != NOCRED) crhold(bpa->b_wcred); - bpa->b_blkno = (firstaddr + count * PAGE_SIZE) / DEV_BSIZE; + bpa->b_blkno = firstaddr + count * (PAGE_SIZE / DEV_BSIZE); pbgetvp(dp, bpa); bpa->b_bcount = sizea; bpa->b_bufsize = counta * PAGE_SIZE; @@ -1105,7 +1105,7 @@ vnode_pager_output_smlfs(vnp, m) if (bp->b_wcred != NOCRED) crhold(bp->b_wcred); bp->b_un.b_addr = (caddr_t) kva + i * bsize; - bp->b_blkno = fileaddr / DEV_BSIZE; + bp->b_blkno = fileaddr; pbgetvp(dp, bp); ++dp->v_numoutput; /* for NFS */ @@ -1270,7 +1270,7 @@ retryoutput: crhold(bp->b_rcred); if (bp->b_wcred != NOCRED) crhold(bp->b_wcred); - bp->b_blkno = reqaddr / DEV_BSIZE; + bp->b_blkno = reqaddr; pbgetvp(dp, bp); ++dp->v_numoutput; |