vm_pager_put_pages() is passed an rcval array to hold per-page return

values.  The 'int' return value for the procedure was never used and
    not well defined in any case when there are mixed errors on pages, so
    it has been removed.  vm_pager_put_pages() and associated vm_pager
    functions now return void.
This commit is contained in:
Matthew Dillon 1999-01-24 02:32:15 +00:00
parent e1a4feafd0
commit e4542174b0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=43129
7 changed files with 31 additions and 33 deletions

View File

@ -36,7 +36,7 @@
* physically freed after having been cleaned and even then vm_page->swapblk * physically freed after having been cleaned and even then vm_page->swapblk
* is maintained whenever a resident page also has swap backing store. * is maintained whenever a resident page also has swap backing store.
* *
* $Id: default_pager.c,v 1.17 1999/01/21 08:29:09 dillon Exp $ * $Id: default_pager.c,v 1.18 1999/01/21 09:33:06 dillon Exp $
*/ */
#include <sys/param.h> #include <sys/param.h>
@ -56,7 +56,7 @@ static vm_object_t default_pager_alloc __P((void *, vm_ooffset_t, vm_prot_t,
vm_ooffset_t)); vm_ooffset_t));
static void default_pager_dealloc __P((vm_object_t)); static void default_pager_dealloc __P((vm_object_t));
static int default_pager_getpages __P((vm_object_t, vm_page_t *, int, int)); static int default_pager_getpages __P((vm_object_t, vm_page_t *, int, int));
static int default_pager_putpages __P((vm_object_t, vm_page_t *, int, static void default_pager_putpages __P((vm_object_t, vm_page_t *, int,
boolean_t, int *)); boolean_t, int *));
static boolean_t default_pager_haspage __P((vm_object_t, vm_pindex_t, int *, static boolean_t default_pager_haspage __P((vm_object_t, vm_pindex_t, int *,
int *)); int *));
@ -126,7 +126,7 @@ default_pager_getpages(object, m, count, reqpage)
* cache to the free list. * cache to the free list.
*/ */
static int static void
default_pager_putpages(object, m, c, sync, rtvals) default_pager_putpages(object, m, c, sync, rtvals)
vm_object_t object; vm_object_t object;
vm_page_t *m; vm_page_t *m;
@ -134,7 +134,7 @@ default_pager_putpages(object, m, c, sync, rtvals)
boolean_t sync; boolean_t sync;
int *rtvals; int *rtvals;
{ {
return swap_pager_putpages(object, m, c, sync, rtvals); swap_pager_putpages(object, m, c, sync, rtvals);
} }
/* /*

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* @(#)device_pager.c 8.1 (Berkeley) 6/11/93 * @(#)device_pager.c 8.1 (Berkeley) 6/11/93
* $Id: device_pager.c,v 1.37 1999/01/08 17:31:23 eivind Exp $ * $Id: device_pager.c,v 1.38 1999/01/21 08:29:09 dillon Exp $
*/ */
#include <sys/param.h> #include <sys/param.h>
@ -57,7 +57,7 @@ static vm_object_t dev_pager_alloc __P((void *, vm_ooffset_t, vm_prot_t,
vm_ooffset_t)); vm_ooffset_t));
static void dev_pager_dealloc __P((vm_object_t)); static void dev_pager_dealloc __P((vm_object_t));
static int dev_pager_getpages __P((vm_object_t, vm_page_t *, int, int)); static int dev_pager_getpages __P((vm_object_t, vm_page_t *, int, int));
static int dev_pager_putpages __P((vm_object_t, vm_page_t *, int, static void dev_pager_putpages __P((vm_object_t, vm_page_t *, int,
boolean_t, int *)); boolean_t, int *));
static boolean_t dev_pager_haspage __P((vm_object_t, vm_pindex_t, int *, static boolean_t dev_pager_haspage __P((vm_object_t, vm_pindex_t, int *,
int *)); int *));
@ -225,7 +225,7 @@ dev_pager_getpages(object, m, count, reqpage)
return (VM_PAGER_OK); return (VM_PAGER_OK);
} }
static int static void
dev_pager_putpages(object, m, count, sync, rtvals) dev_pager_putpages(object, m, count, sync, rtvals)
vm_object_t object; vm_object_t object;
vm_page_t *m; vm_page_t *m;

View File

@ -64,7 +64,7 @@
* *
* @(#)swap_pager.c 8.9 (Berkeley) 3/21/94 * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94
* *
* $Id: swap_pager.c,v 1.108 1999/01/21 08:29:09 dillon Exp $ * $Id: swap_pager.c,v 1.109 1999/01/21 09:33:07 dillon Exp $
*/ */
#include <sys/param.h> #include <sys/param.h>
@ -974,7 +974,7 @@ swap_pager_getpages(object, m, count, reqpage)
* We need to unbusy the rest on I/O completion. * We need to unbusy the rest on I/O completion.
*/ */
int void
swap_pager_putpages(object, m, count, sync, rtvals) swap_pager_putpages(object, m, count, sync, rtvals)
vm_object_t object; vm_object_t object;
vm_page_t *m; vm_page_t *m;
@ -984,7 +984,6 @@ swap_pager_putpages(object, m, count, sync, rtvals)
{ {
int i; int i;
int n = 0; int n = 0;
int grv = VM_PAGER_OK;
#if !defined(MAX_PERF) #if !defined(MAX_PERF)
if (count && m[0]->object != object) { if (count && m[0]->object != object) {
@ -1046,7 +1045,6 @@ swap_pager_putpages(object, m, count, sync, rtvals)
for (j = 0; j < n; ++j) { for (j = 0; j < n; ++j) {
rtvals[i+j] = VM_PAGER_FAIL; rtvals[i+j] = VM_PAGER_FAIL;
} }
grv = VM_PAGER_FAIL;
continue; continue;
} }
@ -1129,7 +1127,6 @@ swap_pager_putpages(object, m, count, sync, rtvals)
rtvals[i+j] = VM_PAGER_PEND; rtvals[i+j] = VM_PAGER_PEND;
splx(s); splx(s);
grv = VM_PAGER_PEND;
continue; continue;
} }
@ -1152,16 +1149,20 @@ swap_pager_putpages(object, m, count, sync, rtvals)
tsleep(bp, PVM, "swwrt", 0); tsleep(bp, PVM, "swwrt", 0);
} }
#if 0
if (bp->b_flags & B_ERROR) { if (bp->b_flags & B_ERROR) {
grv = VM_PAGER_ERROR; grv = VM_PAGER_ERROR;
} }
#endif
for (j = 0; j < n; ++j) for (j = 0; j < n; ++j)
rtvals[i+j] = VM_PAGER_PEND; rtvals[i+j] = VM_PAGER_PEND;
#if 0
if (bp->b_flags & B_ERROR) { if (bp->b_flags & B_ERROR) {
grv = VM_PAGER_ERROR; grv = VM_PAGER_ERROR;
} }
#endif
/* /*
* Now that we are through with the bp, we can call the * Now that we are through with the bp, we can call the
@ -1172,8 +1173,6 @@ swap_pager_putpages(object, m, count, sync, rtvals)
splx(s); splx(s);
} }
return(grv);
} }
/* /*

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* from: @(#)swap_pager.h 7.1 (Berkeley) 12/5/90 * from: @(#)swap_pager.h 7.1 (Berkeley) 12/5/90
* $Id: swap_pager.h,v 1.22 1998/07/10 21:50:17 alex Exp $ * $Id: swap_pager.h,v 1.23 1999/01/21 08:29:10 dillon Exp $
*/ */
/* /*
@ -88,7 +88,7 @@ extern struct pagerlst swap_pager_un_object_list;
extern int swap_pager_full; extern int swap_pager_full;
extern struct blist *swapblist; extern struct blist *swapblist;
int swap_pager_putpages __P((vm_object_t, vm_page_t *, int, boolean_t, int *)); void swap_pager_putpages __P((vm_object_t, vm_page_t *, int, boolean_t, int *));
boolean_t swap_pager_haspage __P((vm_object_t object, vm_pindex_t pindex, int *before, int *after)); boolean_t swap_pager_haspage __P((vm_object_t object, vm_pindex_t pindex, int *before, int *after));
int swap_pager_swp_alloc __P((vm_object_t, int)); int swap_pager_swp_alloc __P((vm_object_t, int));

View File

@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the * any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes. * rights to redistribute these changes.
* *
* $Id: vm_pager.c,v 1.41 1999/01/21 08:29:12 dillon Exp $ * $Id: vm_pager.c,v 1.42 1999/01/21 10:15:24 dillon Exp $
*/ */
/* /*
@ -96,11 +96,11 @@ int cluster_pbuf_freecnt = -1; /* unlimited to begin with */
static int dead_pager_getpages __P((vm_object_t, vm_page_t *, int, int)); static int dead_pager_getpages __P((vm_object_t, vm_page_t *, int, int));
static vm_object_t dead_pager_alloc __P((void *, vm_ooffset_t, vm_prot_t, static vm_object_t dead_pager_alloc __P((void *, vm_ooffset_t, vm_prot_t,
vm_ooffset_t)); vm_ooffset_t));
static int dead_pager_putpages __P((vm_object_t, vm_page_t *, int, int, int *)); static void dead_pager_putpages __P((vm_object_t, vm_page_t *, int, int, int *));
static boolean_t dead_pager_haspage __P((vm_object_t, vm_pindex_t, int *, int *)); static boolean_t dead_pager_haspage __P((vm_object_t, vm_pindex_t, int *, int *));
static void dead_pager_dealloc __P((vm_object_t)); static void dead_pager_dealloc __P((vm_object_t));
int static int
dead_pager_getpages(obj, ma, count, req) dead_pager_getpages(obj, ma, count, req)
vm_object_t obj; vm_object_t obj;
vm_page_t *ma; vm_page_t *ma;
@ -110,7 +110,7 @@ dead_pager_getpages(obj, ma, count, req)
return VM_PAGER_FAIL; return VM_PAGER_FAIL;
} }
vm_object_t static vm_object_t
dead_pager_alloc(handle, size, prot, off) dead_pager_alloc(handle, size, prot, off)
void *handle; void *handle;
vm_ooffset_t size; vm_ooffset_t size;
@ -120,7 +120,7 @@ dead_pager_alloc(handle, size, prot, off)
return NULL; return NULL;
} }
int static void
dead_pager_putpages(object, m, count, flags, rtvals) dead_pager_putpages(object, m, count, flags, rtvals)
vm_object_t object; vm_object_t object;
vm_page_t *m; vm_page_t *m;
@ -129,13 +129,13 @@ dead_pager_putpages(object, m, count, flags, rtvals)
int *rtvals; int *rtvals;
{ {
int i; int i;
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
rtvals[i] = VM_PAGER_AGAIN; rtvals[i] = VM_PAGER_AGAIN;
} }
return VM_PAGER_AGAIN;
} }
int static int
dead_pager_haspage(object, pindex, prev, next) dead_pager_haspage(object, pindex, prev, next)
vm_object_t object; vm_object_t object;
vm_pindex_t pindex; vm_pindex_t pindex;
@ -149,7 +149,7 @@ dead_pager_haspage(object, pindex, prev, next)
return FALSE; return FALSE;
} }
void static void
dead_pager_dealloc(object) dead_pager_dealloc(object)
vm_object_t object; vm_object_t object;
{ {

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* @(#)vm_pager.h 8.4 (Berkeley) 1/12/94 * @(#)vm_pager.h 8.4 (Berkeley) 1/12/94
* $Id: vm_pager.h,v 1.18 1999/01/21 08:29:12 dillon Exp $ * $Id: vm_pager.h,v 1.19 1999/01/21 10:15:47 dillon Exp $
*/ */
/* /*
@ -55,7 +55,7 @@ struct pagerops {
vm_object_t (*pgo_alloc) __P((void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t)); /* Allocate pager. */ vm_object_t (*pgo_alloc) __P((void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t)); /* Allocate pager. */
void (*pgo_dealloc) __P((vm_object_t)); /* Disassociate. */ void (*pgo_dealloc) __P((vm_object_t)); /* Disassociate. */
int (*pgo_getpages) __P((vm_object_t, vm_page_t *, int, int)); /* Get (read) page. */ int (*pgo_getpages) __P((vm_object_t, vm_page_t *, int, int)); /* Get (read) page. */
int (*pgo_putpages) __P((vm_object_t, vm_page_t *, int, int, int *)); /* Put (write) page. */ void (*pgo_putpages) __P((vm_object_t, vm_page_t *, int, int, int *)); /* Put (write) page. */
boolean_t (*pgo_haspage) __P((vm_object_t, vm_pindex_t, int *, int *)); /* Does pager have page? */ boolean_t (*pgo_haspage) __P((vm_object_t, vm_pindex_t, int *, int *)); /* Does pager have page? */
void (*pgo_pageunswapped) __P((vm_page_t)); void (*pgo_pageunswapped) __P((vm_page_t));
}; };
@ -98,7 +98,6 @@ void vm_pager_init __P((void));
vm_object_t vm_pager_object_lookup __P((struct pagerlst *, void *)); vm_object_t vm_pager_object_lookup __P((struct pagerlst *, void *));
vm_offset_t vm_pager_map_pages __P((vm_page_t *, int, boolean_t)); vm_offset_t vm_pager_map_pages __P((vm_page_t *, int, boolean_t));
vm_offset_t vm_pager_map_page __P((vm_page_t)); vm_offset_t vm_pager_map_page __P((vm_page_t));
static __inline int vm_pager_put_pages __P((vm_object_t, vm_page_t *, int, boolean_t, int *));
void vm_pager_sync __P((void)); void vm_pager_sync __P((void));
void vm_pager_unmap_pages __P((vm_offset_t, int)); void vm_pager_unmap_pages __P((vm_offset_t, int));
void vm_pager_unmap_page __P((vm_offset_t)); void vm_pager_unmap_page __P((vm_offset_t));
@ -113,7 +112,7 @@ vm_pager_get_pages(
return ((*pagertab[object->type]->pgo_getpages)(object, m, count, reqpage)); return ((*pagertab[object->type]->pgo_getpages)(object, m, count, reqpage));
} }
static __inline int static __inline void
vm_pager_put_pages( vm_pager_put_pages(
vm_object_t object, vm_object_t object,
vm_page_t *m, vm_page_t *m,
@ -121,7 +120,8 @@ vm_pager_put_pages(
int flags, int flags,
int *rtvals int *rtvals
) { ) {
return ((*pagertab[object->type]->pgo_putpages)(object, m, count, flags, rtvals)); (*pagertab[object->type]->pgo_putpages)
(object, m, count, flags, rtvals);
} }
static __inline boolean_t static __inline boolean_t

View File

@ -38,7 +38,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91 * from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91
* $Id: vnode_pager.c,v 1.101 1998/12/04 18:39:44 rvb Exp $ * $Id: vnode_pager.c,v 1.102 1999/01/21 08:29:12 dillon Exp $
*/ */
/* /*
@ -75,7 +75,7 @@ static int vnode_pager_input_smlfs __P((vm_object_t object, vm_page_t m));
static int vnode_pager_input_old __P((vm_object_t object, vm_page_t m)); static int vnode_pager_input_old __P((vm_object_t object, vm_page_t m));
static void vnode_pager_dealloc __P((vm_object_t)); static void vnode_pager_dealloc __P((vm_object_t));
static int vnode_pager_getpages __P((vm_object_t, vm_page_t *, int, int)); static int vnode_pager_getpages __P((vm_object_t, vm_page_t *, int, int));
static int vnode_pager_putpages __P((vm_object_t, vm_page_t *, int, boolean_t, int *)); static void vnode_pager_putpages __P((vm_object_t, vm_page_t *, int, boolean_t, int *));
static boolean_t vnode_pager_haspage __P((vm_object_t, vm_pindex_t, int *, int *)); static boolean_t vnode_pager_haspage __P((vm_object_t, vm_pindex_t, int *, int *));
struct pagerops vnodepagerops = { struct pagerops vnodepagerops = {
@ -821,7 +821,7 @@ vnode_pager_generic_getpages(vp, m, bytecount, reqpage)
* All other FS's should use the bypass to get to the local media * All other FS's should use the bypass to get to the local media
* backing vp's VOP_PUTPAGES. * backing vp's VOP_PUTPAGES.
*/ */
static int static void
vnode_pager_putpages(object, m, count, sync, rtvals) vnode_pager_putpages(object, m, count, sync, rtvals)
vm_object_t object; vm_object_t object;
vm_page_t *m; vm_page_t *m;
@ -839,7 +839,6 @@ vnode_pager_putpages(object, m, count, sync, rtvals)
printf("vnode_pager: *** WARNING *** stale FS putpages\n"); printf("vnode_pager: *** WARNING *** stale FS putpages\n");
rtval = vnode_pager_generic_putpages( vp, m, bytes, sync, rtvals); rtval = vnode_pager_generic_putpages( vp, m, bytes, sync, rtvals);
} }
return rtval;
} }