Deleted Added
sdiff udiff text old ( 44739 ) new ( 46349 )
full compact
1/*
2 * Copyright (c) 1990 University of Utah.
3 * Copyright (c) 1991, 1993
4 * The Regents of the University of California. All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * the Systems Programming Group of the University of Utah Computer
8 * Science Department.

--- 22 unchanged lines hidden (view full) ---

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)vm_pager.h 8.4 (Berkeley) 1/12/94
39 * $Id: vm_pager.h,v 1.21 1999/03/14 09:20:00 julian Exp $
40 */
41
42/*
43 * Pager routine interface definition.
44 */
45
46#ifndef _VM_PAGER_
47#define _VM_PAGER_

--- 57 unchanged lines hidden (view full) ---

105void vm_pager_unmap_pages __P((vm_offset_t, int));
106void vm_pager_unmap_page __P((vm_offset_t));
107void vm_pager_strategy __P((vm_object_t object, struct buf *bp));
108struct buf *getchainbuf(struct buf *bp, struct vnode *vp, int flags);
109void flushchainbuf(struct buf *nbp);
110void waitchainbuf(struct buf *bp, int count, int done);
111void autochaindone(struct buf *bp);
112
113/*
114 * vm_page_get_pages:
115 *
116 * Retrieve pages from the VM system in order to map them into an object
117 * ( or into VM space somewhere ). If the pagein was successful, we
118 * must fully validate it.
119 */
120
121static __inline int
122vm_pager_get_pages(
123 vm_object_t object,
124 vm_page_t *m,
125 int count,
126 int reqpage
127) {
128 int r;
129
130 r = (*pagertab[object->type]->pgo_getpages)(object, m, count, reqpage);
131 if (r == VM_PAGER_OK && m[reqpage]->valid != VM_PAGE_BITS_ALL) {
132 vm_page_zero_invalid(m[reqpage], TRUE);
133 }
134 return(r);
135}
136
137static __inline void
138vm_pager_put_pages(
139 vm_object_t object,
140 vm_page_t *m,
141 int count,
142 int flags,

--- 34 unchanged lines hidden ---