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.91 1998/03/16 01:56:03 dyson Exp $ |
42 */ 43 44/* 45 * Page to/from files (vnodes). 46 */ 47 48/* 49 * TODO: --- 360 unchanged lines hidden (view full) --- 410 crhold(bp->b_wcred); 411 bp->b_data = (caddr_t) kva + i * bsize; 412 bp->b_blkno = fileaddr; 413 pbgetvp(dp, bp); 414 bp->b_bcount = bsize; 415 bp->b_bufsize = bsize; 416 417 /* do the input */ |
418 VOP_STRATEGY(bp->b_vp, bp); |
419 420 /* we definitely need to be at splvm here */ 421 422 s = splvm(); 423 while ((bp->b_flags & B_DONE) == 0) { 424 tsleep(bp, PVM, "vnsrd", 0); 425 } 426 splx(s); --- 297 unchanged lines hidden (view full) --- 724 pbgetvp(dp, bp); 725 bp->b_bcount = size; 726 bp->b_bufsize = size; 727 728 cnt.v_vnodein++; 729 cnt.v_vnodepgsin += count; 730 731 /* do the input */ |
732 VOP_STRATEGY(bp->b_vp, bp); |
733 734 s = splvm(); 735 /* we definitely need to be at splvm here */ 736 737 while ((bp->b_flags & B_DONE) == 0) { 738 tsleep(bp, PVM, "vnread", 0); 739 } 740 splx(s); --- 196 unchanged lines hidden --- |