no swplo
[unix-history] / usr / src / sys / kern / kern_physio.c
index 5c1616a..83f411a 100644 (file)
@@ -1,6 +1,5 @@
-/*     kern_physio.c   3.2     %H%     */
+/*     kern_physio.c   3.8     %G%     */
 
 
-int    distrust = 1;           /* TEST */
 #include "../h/param.h"
 #include "../h/systm.h"
 #include "../h/dir.h"
 #include "../h/param.h"
 #include "../h/systm.h"
 #include "../h/dir.h"
@@ -259,24 +258,6 @@ register struct buf *bp;
        splx(s);
 }
 
        splx(s);
 }
 
-/* HASHING IS A GUN LIKE CHANGE, THIS IS THE SAFETY */
-struct buf *
-oincore(dev, blkno)
-       dev_t dev;
-       daddr_t blkno;
-{
-       register struct buf *bp;
-       register struct buf *dp;
-       register int dblkno = fsbtodb(blkno);
-
-       dp = bdevsw[major(dev)].d_tab;
-       for (bp=dp->b_forw; bp != dp; bp = bp->b_forw)
-               if (bp->b_blkno==dblkno && bp->b_dev==dev &&
-                   bp >= buf && bp < &buf[NBUF])
-                       return (bp);
-       return ((struct buf *)0);
-}
-
 /*
  * See if the block is associated with some buffer
  * (mainly to avoid getting hung up on a wait in breada)
 /*
  * See if the block is associated with some buffer
  * (mainly to avoid getting hung up on a wait in breada)
@@ -290,15 +271,8 @@ daddr_t blkno;
 
        for (bp = &buf[bufhash[BUFHASH(blkno)]]; bp != &buf[-1];
            bp = &buf[bp->b_hlink])
 
        for (bp = &buf[bufhash[BUFHASH(blkno)]]; bp != &buf[-1];
            bp = &buf[bp->b_hlink])
-               if (bp->b_blkno == dblkno && bp->b_dev == dev) {
-                       if (distrust)
-                       if (oincore(dev, blkno) != bp)          /* TEST */
-                               panic("incore 1");              /* TEST */
+               if (bp->b_blkno == dblkno && bp->b_dev == dev)
                        return (1);
                        return (1);
-               }
-       if (distrust)
-       if (oincore(dev, blkno))                                /* TEST */
-               panic("incore 2");                              /* TEST */
        return (0);
 }
 
        return (0);
 }
 
@@ -328,21 +302,18 @@ daddr_t blkno;
        register int dblkno = fsbtodb(blkno);
 
     loop:
        register int dblkno = fsbtodb(blkno);
 
     loop:
-       VOID spl0();
+       (void) spl0();
        for (bp = &buf[bufhash[BUFHASH(blkno)]]; bp != &buf[-1];
            bp = &buf[bp->b_hlink]) {
                if (bp->b_blkno != dblkno || bp->b_dev != dev)
                        continue;
        for (bp = &buf[bufhash[BUFHASH(blkno)]]; bp != &buf[-1];
            bp = &buf[bp->b_hlink]) {
                if (bp->b_blkno != dblkno || bp->b_dev != dev)
                        continue;
-               if (distrust)
-               if (bp != oincore(dev, blkno))          /* TEST */
-                       panic("getblk 1");              /* TEST */
-               VOID spl6();
+               (void) spl6();
                if (bp->b_flags&B_BUSY) {
                        bp->b_flags |= B_WANTED;
                        sleep((caddr_t)bp, PRIBIO+1);
                        goto loop;
                }
                if (bp->b_flags&B_BUSY) {
                        bp->b_flags |= B_WANTED;
                        sleep((caddr_t)bp, PRIBIO+1);
                        goto loop;
                }
-               VOID spl0();
+               (void) spl0();
 #ifdef DISKMON
                i = 0;
                dp = bp->av_forw;
 #ifdef DISKMON
                i = 0;
                dp = bp->av_forw;
@@ -357,15 +328,12 @@ daddr_t blkno;
                bp->b_flags |= B_CACHE;
                return(bp);
        }
                bp->b_flags |= B_CACHE;
                return(bp);
        }
-       if (distrust)
-       if (oincore(dev, blkno))                /* TEST */
-               panic("getblk 2");              /* TEST */
        if (major(dev) >= nblkdev)
                panic("blkdev");
        dp = bdevsw[major(dev)].d_tab;
        if (dp == NULL)
                panic("devtab");
        if (major(dev) >= nblkdev)
                panic("blkdev");
        dp = bdevsw[major(dev)].d_tab;
        if (dp == NULL)
                panic("devtab");
-       VOID spl6();
+       (void) spl6();
        if (bfreelist.av_forw == &bfreelist) {
                bfreelist.b_flags |= B_WANTED;
                sleep((caddr_t)&bfreelist, PRIBIO+1);
        if (bfreelist.av_forw == &bfreelist) {
                bfreelist.b_flags |= B_WANTED;
                sleep((caddr_t)&bfreelist, PRIBIO+1);
@@ -419,16 +387,15 @@ done:
 struct buf *
 geteblk()
 {
 struct buf *
 geteblk()
 {
-       register struct buf *bp, *dp, *ep;
-       register int i, x;
+       register struct buf *bp, *dp;
 
 loop:
 
 loop:
-       VOID spl6();
+       (void) spl6();
        while (bfreelist.av_forw == &bfreelist) {
                bfreelist.b_flags |= B_WANTED;
                sleep((caddr_t)&bfreelist, PRIBIO+1);
        }
        while (bfreelist.av_forw == &bfreelist) {
                bfreelist.b_flags |= B_WANTED;
                sleep((caddr_t)&bfreelist, PRIBIO+1);
        }
-       VOID spl0();
+       (void) spl0();
        dp = &bfreelist;
        bp = bfreelist.av_forw;
        notavail(bp);
        dp = &bfreelist;
        bp = bfreelist.av_forw;
        notavail(bp);
@@ -482,10 +449,10 @@ iowait(bp)
 register struct buf *bp;
 {
 
 register struct buf *bp;
 {
 
-       VOID spl6();
+       (void) spl6();
        while ((bp->b_flags&B_DONE)==0)
                sleep((caddr_t)bp, PRIBIO);
        while ((bp->b_flags&B_DONE)==0)
                sleep((caddr_t)bp, PRIBIO);
-       VOID spl0();
+       (void) spl0();
        geterror(bp);
 }
 
        geterror(bp);
 }
 
@@ -584,14 +551,14 @@ swap(p, dblkno, addr, nbytes, rdflg, flag, dev, pfcent)
        int p2dp;
        register struct pte *dpte, *vpte;
 
        int p2dp;
        register struct pte *dpte, *vpte;
 
-       VOID spl6();
+       (void) spl6();
        while (bswlist.av_forw == NULL) {
                bswlist.b_flags |= B_WANTED;
                sleep((caddr_t)&bswlist, PSWP+1);
        }
        bp = bswlist.av_forw;
        bswlist.av_forw = bp->av_forw;
        while (bswlist.av_forw == NULL) {
                bswlist.b_flags |= B_WANTED;
                sleep((caddr_t)&bswlist, PSWP+1);
        }
        bp = bswlist.av_forw;
        bswlist.av_forw = bp->av_forw;
-       VOID spl0();
+       (void) spl0();
 
        bp->b_flags = B_BUSY | B_PHYS | rdflg | flag;
        if ((bp->b_flags & (B_DIRTY|B_PGIN)) == 0)
 
        bp->b_flags = B_BUSY | B_PHYS | rdflg | flag;
        if ((bp->b_flags & (B_DIRTY|B_PGIN)) == 0)
@@ -617,8 +584,6 @@ swap(p, dblkno, addr, nbytes, rdflg, flag, dev, pfcent)
                bp->b_bcount = c;
                bp->b_blkno = dblkno;
                bp->b_dev = dev;
                bp->b_bcount = c;
                bp->b_blkno = dblkno;
                bp->b_dev = dev;
-               if (dev == swapdev)
-                       bp->b_blkno += swplo;
                (*bdevsw[major(dev)].d_strategy)(bp);
                if (flag & B_DIRTY) {
                        if (c < nbytes)
                (*bdevsw[major(dev)].d_strategy)(bp);
                if (flag & B_DIRTY) {
                        if (c < nbytes)
@@ -627,10 +592,10 @@ swap(p, dblkno, addr, nbytes, rdflg, flag, dev, pfcent)
                        swpf[bp - swbuf] = pfcent;
                        return;
                }
                        swpf[bp - swbuf] = pfcent;
                        return;
                }
-               VOID spl6();
+               (void) spl6();
                while((bp->b_flags&B_DONE)==0)
                        sleep((caddr_t)bp, PSWP);
                while((bp->b_flags&B_DONE)==0)
                        sleep((caddr_t)bp, PSWP);
-               VOID spl0();
+               (void) spl0();
                bp->b_un.b_addr += c;
                bp->b_flags &= ~B_DONE;
                if (bp->b_flags & B_ERROR) {
                bp->b_un.b_addr += c;
                bp->b_flags &= ~B_DONE;
                if (bp->b_flags & B_ERROR) {
@@ -641,7 +606,7 @@ swap(p, dblkno, addr, nbytes, rdflg, flag, dev, pfcent)
                nbytes -= c;
                dblkno += btoc(c);
        }
                nbytes -= c;
                dblkno += btoc(c);
        }
-       VOID spl6();
+       (void) spl6();
        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;
        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;
@@ -650,7 +615,7 @@ swap(p, dblkno, addr, nbytes, rdflg, flag, dev, pfcent)
                wakeup((caddr_t)&bswlist);
                wakeup((caddr_t)&proc[2]);
        }
                wakeup((caddr_t)&bswlist);
                wakeup((caddr_t)&proc[2]);
        }
-       VOID spl0();
+       (void) spl0();
 }
 
 /*
 }
 
 /*
@@ -674,7 +639,7 @@ swkill(p, rout)
         * done by user) after killing it so noone will try
         * to swap it out.
         */
         * done by user) after killing it so noone will try
         * to swap it out.
         */
-       psignal(p, SIGKIL);
+       psignal(p, SIGKILL);
        p->p_flag |= SULOCK;
 }
 
        p->p_flag |= SULOCK;
 }
 
@@ -690,7 +655,7 @@ dev_t dev;
        register struct buf *bp;
 
 loop:
        register struct buf *bp;
 
 loop:
-       VOID spl6();
+       (void) spl6();
        for (bp = bfreelist.av_forw; bp != &bfreelist; bp = bp->av_forw) {
                if (bp->b_flags&B_DELWRI && (dev == NODEV||dev==bp->b_dev)) {
                        bp->b_flags |= B_ASYNC;
        for (bp = bfreelist.av_forw; bp != &bfreelist; bp = bp->av_forw) {
                if (bp->b_flags&B_DELWRI && (dev == NODEV||dev==bp->b_dev)) {
                        bp->b_flags |= B_ASYNC;
@@ -699,7 +664,7 @@ loop:
                        goto loop;
                }
        }
                        goto loop;
                }
        }
-       VOID spl0();
+       (void) spl0();
 }
 
 /*
 }
 
 /*
@@ -728,7 +693,7 @@ unsigned (*mincnt)();
                u.u_error = EFAULT;
                return;
        }
                u.u_error = EFAULT;
                return;
        }
-       VOID spl6();
+       (void) spl6();
        while (bp->b_flags&B_BUSY) {
                bp->b_flags |= B_WANTED;
                sleep((caddr_t)bp, PRIBIO+1);
        while (bp->b_flags&B_BUSY) {
                bp->b_flags |= B_WANTED;
                sleep((caddr_t)bp, PRIBIO+1);
@@ -746,14 +711,14 @@ unsigned (*mincnt)();
                u.u_procp->p_flag |= SPHYSIO;
                vslock(a = bp->b_un.b_addr, c);
                (*strat)(bp);
                u.u_procp->p_flag |= SPHYSIO;
                vslock(a = bp->b_un.b_addr, c);
                (*strat)(bp);
-               VOID spl6();
+               (void) spl6();
                while ((bp->b_flags&B_DONE) == 0)
                        sleep((caddr_t)bp, PRIBIO);
                vsunlock(a, c, rw);
                u.u_procp->p_flag &= ~SPHYSIO;
                if (bp->b_flags&B_WANTED)
                        wakeup((caddr_t)bp);
                while ((bp->b_flags&B_DONE) == 0)
                        sleep((caddr_t)bp, PRIBIO);
                vsunlock(a, c, rw);
                u.u_procp->p_flag &= ~SPHYSIO;
                if (bp->b_flags&B_WANTED)
                        wakeup((caddr_t)bp);
-               VOID spl0();
+               (void) spl0();
                bp->b_un.b_addr += c;
                u.u_count -= c;
                u.u_offset += c;
                bp->b_un.b_addr += c;
                u.u_count -= c;
                u.u_offset += c;