Deleted Added
full compact
vm_pager.h (44739) vm_pager.h (46349)
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
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.20 1999/01/24 02:32:15 dillon Exp $
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
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
113static __inline int
114vm_pager_get_pages(
115 vm_object_t object,
116 vm_page_t *m,
117 int count,
118 int reqpage
119) {
121static __inline int
122vm_pager_get_pages(
123 vm_object_t object,
124 vm_page_t *m,
125 int count,
126 int reqpage
127) {
120 return ((*pagertab[object->type]->pgo_getpages)(object, m, count, reqpage));
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);
121}
122
123static __inline void
124vm_pager_put_pages(
125 vm_object_t object,
126 vm_page_t *m,
127 int count,
128 int flags,

--- 34 unchanged lines hidden ---
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 ---