X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/9342689a41d8a61587078ee6f496d14e836bfeaf..2cbf9af3150e327192cffa2bd7b8df372a220a3c:/usr/src/sys/vm/swap_pager.c diff --git a/usr/src/sys/vm/swap_pager.c b/usr/src/sys/vm/swap_pager.c index 8937d52414..e708358829 100644 --- a/usr/src/sys/vm/swap_pager.c +++ b/usr/src/sys/vm/swap_pager.c @@ -11,7 +11,7 @@ * * from: Utah $Hdr: swap_pager.c 1.4 91/04/30$ * - * @(#)swap_pager.c 7.9 (Berkeley) %G% + * @(#)swap_pager.c 7.14 (Berkeley) %G% */ /* @@ -30,9 +30,10 @@ #include #include #include -#include #include +#include + #include #include #include @@ -382,7 +383,7 @@ swap_pager_putpage(pager, m, sync) #endif if (pager == NULL) { (void) swap_pager_clean(NULL, B_WRITE); - return; + return (VM_PAGER_OK); /* ??? */ } flags = B_WRITE; if (!sync) @@ -440,7 +441,6 @@ swap_pager_io(swp, m, flags) vm_page_t m; int flags; { - USES_VOP_STRATEGY; register struct buf *bp; register sw_blk_t swb; register int s; @@ -651,7 +651,7 @@ swap_pager_io(swp, m, flags) else --swap_pager_poip; #endif - rv = (bp->b_flags & B_ERROR) ? VM_PAGER_FAIL : VM_PAGER_OK; + rv = (bp->b_flags & B_ERROR) ? VM_PAGER_ERROR : VM_PAGER_OK; bp->b_flags &= ~(B_BUSY|B_WANTED|B_PHYS|B_PAGET|B_UAREA|B_DIRTY); bp->av_forw = bswlist.av_forw; bswlist.av_forw = bp; @@ -662,14 +662,14 @@ swap_pager_io(swp, m, flags) thread_wakeup((int)&bswlist); } if ((flags & B_READ) == 0 && rv == VM_PAGER_OK) { - m->clean = TRUE; + m->flags |= PG_CLEAN; pmap_clear_modify(VM_PAGE_TO_PHYS(m)); } splx(s); #ifdef DEBUG if (swpagerdebug & SDB_IO) printf("swpg_io: IO done: bp %x, rv %d\n", bp, rv); - if ((swpagerdebug & SDB_FAIL) && rv == VM_PAGER_FAIL) + if ((swpagerdebug & SDB_FAIL) && rv == VM_PAGER_ERROR) printf("swpg_io: IO error\n"); #endif vm_pager_unmap_page(kva); @@ -687,7 +687,7 @@ swap_pager_clean(m, rw) #ifdef DEBUG /* save panic time state */ if ((swpagerdebug & SDB_ANOMPANIC) && panicstr) - return; + return (FALSE); /* ??? */ if (swpagerdebug & SDB_FOLLOW) printf("swpg_clean(%x, %d)\n", m, rw); #endif @@ -800,7 +800,7 @@ swap_pager_finish(spc) if (swpagerdebug & SDB_ANOM) printf("swap_pager_finish: page %x dirty again\n", spc->spc_m); - spc->spc_m->busy = FALSE; + spc->spc_m->flags &= ~PG_BUSY; PAGE_WAKEUP(spc->spc_m); vm_object_unlock(object); return(1); @@ -814,12 +814,12 @@ swap_pager_finish(spc) if (spc->spc_flags & SPC_ERROR) { printf("swap_pager_finish: clean of page %x failed\n", VM_PAGE_TO_PHYS(spc->spc_m)); - spc->spc_m->laundry = TRUE; + spc->spc_m->flags |= PG_LAUNDRY; } else { - spc->spc_m->clean = TRUE; + spc->spc_m->flags |= PG_CLEAN; pmap_clear_modify(VM_PAGE_TO_PHYS(spc->spc_m)); } - spc->spc_m->busy = FALSE; + spc->spc_m->flags &= ~PG_BUSY; PAGE_WAKEUP(spc->spc_m); vm_object_unlock(object);