SCCS-vsn: sys/kern/kern_physio.c 3.3
SCCS-vsn: sys/kern/vfs_bio.c 3.3
SCCS-vsn: sys/kern/vfs_cluster.c 3.3
-/* kern_physio.c 3.2 %H% */
+/* kern_physio.c 3.3 %H% */
-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"
-/* 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)
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)
- }
- if (distrust)
- if (oincore(dev, blkno)) /* TEST */
- panic("incore 2"); /* TEST */
bp = &buf[bp->b_hlink]) {
if (bp->b_blkno != dblkno || bp->b_dev != dev)
continue;
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();
if (bp->b_flags&B_BUSY) {
bp->b_flags |= B_WANTED;
VOID spl6();
if (bp->b_flags&B_BUSY) {
bp->b_flags |= B_WANTED;
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 (major(dev) >= nblkdev)
panic("blkdev");
dp = bdevsw[major(dev)].d_tab;
-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"
-/* 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)
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)
- }
- if (distrust)
- if (oincore(dev, blkno)) /* TEST */
- panic("incore 2"); /* TEST */
bp = &buf[bp->b_hlink]) {
if (bp->b_blkno != dblkno || bp->b_dev != dev)
continue;
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();
if (bp->b_flags&B_BUSY) {
bp->b_flags |= B_WANTED;
VOID spl6();
if (bp->b_flags&B_BUSY) {
bp->b_flags |= B_WANTED;
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 (major(dev) >= nblkdev)
panic("blkdev");
dp = bdevsw[major(dev)].d_tab;
-/* vfs_cluster.c 3.2 %H% */
+/* vfs_cluster.c 3.3 %H% */
-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"
-/* 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)
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)
- }
- if (distrust)
- if (oincore(dev, blkno)) /* TEST */
- panic("incore 2"); /* TEST */
bp = &buf[bp->b_hlink]) {
if (bp->b_blkno != dblkno || bp->b_dev != dev)
continue;
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();
if (bp->b_flags&B_BUSY) {
bp->b_flags |= B_WANTED;
VOID spl6();
if (bp->b_flags&B_BUSY) {
bp->b_flags |= B_WANTED;
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 (major(dev) >= nblkdev)
panic("blkdev");
dp = bdevsw[major(dev)].d_tab;