1/* 2 * Copyright (c) 1990 University of Utah. 3 * Copyright (c) 1991 The Regents of the University of California. 4 * All rights reserved. 5 * Copyright (c) 1993, 1994 John S. Dyson 6 * Copyright (c) 1995, David Greenman 7 * 8 * This code is derived from software contributed to Berkeley by --- 24 unchanged lines hidden (view full) --- 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 * 40 * from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91 |
41 * $Id: vnode_pager.c,v 1.110 1999/05/15 23:42:39 dt Exp $ |
42 */ 43 44/* 45 * Page to/from files (vnodes). 46 */ 47 48/* 49 * TODO: --- 352 unchanged lines hidden (view full) --- 402 continue; 403 404 fileaddr = vnode_pager_addr(vp, 405 IDX_TO_OFF(m->pindex) + i * bsize, (int *)0); 406 if (fileaddr != -1) { 407 bp = getpbuf(&vnode_pbuf_freecnt); 408 409 /* build a minimal buffer header */ |
410 bp->b_flags = B_READ | B_CALL; |
411 bp->b_iodone = vnode_pager_iodone; 412 bp->b_rcred = bp->b_wcred = curproc->p_ucred; 413 if (bp->b_rcred != NOCRED) 414 crhold(bp->b_rcred); 415 if (bp->b_wcred != NOCRED) 416 crhold(bp->b_wcred); 417 bp->b_data = (caddr_t) kva + i * bsize; 418 bp->b_blkno = fileaddr; --- 298 unchanged lines hidden (view full) --- 717 kva = (vm_offset_t) bp->b_data; 718 719 /* 720 * and map the pages to be read into the kva 721 */ 722 pmap_qenter(kva, m, count); 723 724 /* build a minimal buffer header */ |
725 bp->b_flags = B_READ | B_CALL; |
726 bp->b_iodone = vnode_pager_iodone; 727 /* B_PHYS is not set, but it is nice to fill this in */ 728 bp->b_rcred = bp->b_wcred = curproc->p_ucred; 729 if (bp->b_rcred != NOCRED) 730 crhold(bp->b_rcred); 731 if (bp->b_wcred != NOCRED) 732 crhold(bp->b_wcred); 733 bp->b_blkno = firstaddr; --- 246 unchanged lines hidden --- |