--- Net2/vm/vm_pager.c 2018/04/24 18:09:19 1.1.1.2 +++ Net2/vm/vm_pager.c 2018/04/24 18:14:56 1.1.1.3 @@ -33,7 +33,8 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)vm_pager.c 7.4 (Berkeley) 5/7/91 + * from: @(#)vm_pager.c 7.4 (Berkeley) 5/7/91 + * vm_pager.c,v 1.4.2.1 1993/07/24 21:34:02 cgd Exp * * * Copyright (c) 1987, 1990 Carnegie-Mellon University. @@ -60,13 +61,6 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. - * - * PATCHES MAGIC LEVEL PATCH THAT GOT US HERE - * -------------------- ----- ---------------------- - * CURRENT PATCH LEVEL: 1 00063 - * -------------------- ----- ---------------------- - * - * 28 Nov 1991 Poul-Henning Kamp Speedup processing */ /* @@ -82,29 +76,34 @@ #include "vm_kern.h" #include "swappager.h" - #if NSWAPPAGER > 0 extern struct pagerops swappagerops; -#else -#define swappagerops NULL #endif #include "vnodepager.h" #if NVNODEPAGER > 0 extern struct pagerops vnodepagerops; -#else -#define vnodepagerops NULL #endif #include "devpager.h" #if NDEVPAGER > 0 extern struct pagerops devicepagerops; -#else -#define devicepagerops NULL #endif struct pagerops *pagertab[] = { +#if NSWAPPAGER > 0 &swappagerops, /* PG_SWAP */ +#else + NULL, /* no swappager */ +#endif +#if NVNODEPAGER > 0 &vnodepagerops, /* PG_VNODE */ +#else + NULL, /* no vnodepager */ +#endif +#if NDEVPAGER > 0 &devicepagerops, /* PG_DEV */ +#else + NULL, /* no devpager */ +#endif }; int npagers = sizeof (pagertab) / sizeof (pagertab[0]); @@ -132,7 +131,7 @@ vm_pager_init() * Initialize known pagers */ for (pgops = pagertab; pgops < &pagertab[npagers]; pgops++) - (*(*pgops)->pgo_init)(); + if (*pgops) (*(*pgops)->pgo_init)(); if (dfltpagerops == NULL) panic("no default pager"); } @@ -206,7 +205,7 @@ vm_pager_sync() struct pagerops **pgops; for (pgops = pagertab; pgops < &pagertab[npagers]; pgops++) - (*(*pgops)->pgo_putpage)(NULL, NULL, FALSE); + if (*pgops) (*(*pgops)->pgo_putpage)(NULL, NULL, FALSE); } vm_offset_t