diff options
| author | Matthew Dillon <dillon@FreeBSD.org> | 2001-11-05 18:58:47 +0000 |
|---|---|---|
| committer | Matthew Dillon <dillon@FreeBSD.org> | 2001-11-05 18:58:47 +0000 |
| commit | 33c67741512ad10fddbcba40bf733b5a073ff606 (patch) | |
| tree | ba5e3b8a064134f4c5603f9029ed25d20102e653 /sys | |
| parent | 0322b80600d72cc3687187291b27c38021037561 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/vm/vnode_pager.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index 412bfab3911c..9e6363b17191 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -422,12 +422,17 @@ vnode_pager_input_smlfs(object, m) kva = vm_pager_map_page(m); for (i = 0; i < PAGE_SIZE / bsize; i++) { + vm_ooffset_t address; if (vm_page_bits(i * bsize, bsize) & m->valid) continue; - fileaddr = vnode_pager_addr(vp, - IDX_TO_OFF(m->pindex) + i * bsize, (int *)0); + address = IDX_TO_OFF(m->pindex) + i * bsize; + if (address >= object->un_pager.vnp.vnp_size) { + fileaddr = -1; + } else { + fileaddr = vnode_pager_addr(vp, address, NULL); + } if (fileaddr != -1) { bp = getpbuf(&vnode_pbuf_freecnt); |
