Undo private changes that should never have been committed.

This commit is contained in:
Alexander Kabaev 2009-04-17 18:34:11 +00:00
parent 348496ad39
commit 8aeb69d0f2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=191220

View file

@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$");
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/mutex.h>
#include <sys/kdb.h>
#include <sys/kernel.h>
#include <sys/kthread.h>
#include <sys/proc.h>
@ -754,38 +753,6 @@ bread(struct vnode * vp, daddr_t blkno, int size, struct ucred * cred,
return (breadn(vp, blkno, size, 0, 0, 0, cred, bpp));
}
/*
* Same as bread, but also checks that cached indirect block
* buffers were not tampered with.
*/
int
breadi(struct vnode * vp, daddr_t blkno, int size, struct ucred * cred,
struct buf **bpp)
{
struct buf *bp;
int rv = 0;
CTR3(KTR_BUF, "breadi(%p, %jd, %d)", vp, blkno, size);
*bpp = bp = getblk(vp, blkno, size, 0, 0, GB_INDIR);
/* if not found in cache, do some I/O */
if ((bp->b_flags & B_CACHE) == 0) {
if (!TD_IS_IDLETHREAD(curthread))
curthread->td_ru.ru_inblock++;
bp->b_iocmd = BIO_READ;
bp->b_flags &= ~B_INVAL;
bp->b_ioflags &= ~BIO_ERROR;
if (bp->b_rcred == NOCRED && cred != NOCRED)
bp->b_rcred = crhold(cred);
vfs_busy_pages(bp, 0);
bp->b_iooffset = dbtob(bp->b_blkno);
bstrategy(bp);
rv = bufwait(bp);
}
return (rv);
}
/*
* Attempt to initiate asynchronous I/O on read-ahead blocks. We must
* clear BIO_ERROR and B_INVAL prior to initiating I/O . If B_CACHE is set,
@ -1251,10 +1218,6 @@ brelse(struct buf *bp)
}
}
/* Validate indirect buffer before VMIO buffer rundown. */
if ((bp->b_flags & B_INDIR) && !(bp->b_flags & B_INVAL))
BO_INDIR_CHECK(bp->b_bufobj, bp);
/*
* We must clear B_RELBUF if B_DELWRI is set. If vfs_vmio_release()
* is called with B_DELWRI set, the underlying pages may wind up
@ -1478,9 +1441,6 @@ brelse(struct buf *bp)
bp->b_flags &= ~(B_ASYNC | B_NOCACHE | B_AGE | B_RELBUF | B_DIRECT);
if ((bp->b_flags & B_DELWRI) == 0 && (bp->b_xflags & BX_VNDIRTY))
panic("brelse: not dirty");
if ((bp->b_flags & B_INDIR) && !(bp->b_flags & B_INVAL))
BO_INDIR_CHECK(bp->b_bufobj, bp);
/* unlock */
BUF_UNLOCK(bp);
}
@ -1570,10 +1530,6 @@ bqrelse(struct buf *bp)
bp->b_flags &= ~(B_ASYNC | B_NOCACHE | B_AGE | B_RELBUF);
if ((bp->b_flags & B_DELWRI) == 0 && (bp->b_xflags & BX_VNDIRTY))
panic("bqrelse: not dirty");
if ((bp->b_flags & B_INDIR) && !(bp->b_flags & B_INVAL))
BO_INDIR_CHECK(bp->b_bufobj, bp);
/* unlock */
BUF_UNLOCK(bp);
}
@ -2702,18 +2658,6 @@ getblk(struct vnode * vp, daddr_t blkno, int size, int slpflag, int slptimeo,
goto loop;
}
bp->b_flags &= ~B_DONE;
if (flags & GB_INDIR) {
if (bp->b_flags & B_INDIR) {
if (bp->b_flags & B_CACHE)
BO_INDIR_CHECK(bo, bp);
} else {
printf("XXKAN: Looking incore indirect buffer "
"found non-indirect one");
kdb_backtrace();
bp->b_flags |= B_INDIR;
}
}
} else {
int bsize, maxsize, vmio;
off_t offset;
@ -2798,8 +2742,6 @@ getblk(struct vnode * vp, daddr_t blkno, int size, int slpflag, int slptimeo,
allocbuf(bp, size);
bp->b_flags &= ~B_DONE;
if (flags & GB_INDIR)
bp->b_flags |= B_INDIR;
}
CTR4(KTR_BUF, "getblk(%p, %ld, %d) = %p", vp, (long)blkno, size, bp);
BUF_ASSERT_HELD(bp);
@ -3308,12 +3250,6 @@ bufdone(struct buf *bp)
if (bp->b_iodone != NULL) {
biodone = bp->b_iodone;
bp->b_iodone = NULL;
if (bp->b_flags & B_INDIR) {
if ((bp->b_flags & B_INVAL) == 0 &&
(bp->b_ioflags & BIO_ERROR) == 0) {
BO_INDIR_CHECK(bp->b_bufobj, bp);
}
}
(*biodone) (bp);
if (dropobj)
bufobj_wdrop(dropobj);
@ -3457,12 +3393,6 @@ bufdone_finish(struct buf *bp)
VM_OBJECT_UNLOCK(obj);
}
if (bp->b_flags & B_INDIR) {
if ((bp->b_flags & B_INVAL) == 0 &&
(bp->b_ioflags & BIO_ERROR) == 0) {
BO_INDIR_CHECK(bp->b_bufobj, bp);
}
}
/*
* For asynchronous completions, release the buffer now. The brelse
* will do a wakeup there if necessary - so no need to do a wakeup