summaryrefslogtreecommitdiff
path: root/sys/arch/hppa
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>2008-06-10 20:50:24 +0000
committerBob Beck <beck@cvs.openbsd.org>2008-06-10 20:50:24 +0000
commit7b9768b8af911b0c6b25a9d357325da1ba59bb5d (patch)
treeefc090ddc427809559d58206f200871b45a38646 /sys/arch/hppa
parent3f3e2ade58622197d4b76525efe04c26e77b070c (diff)
Fix buffer cache pending read statistics by ensuring we can identify
biowait() reads that do *not* come from the buffer cache - we use the B_RAW flag to identify these at art's suggestion - since it makes sense and the flag was not being used. this just flags all these buffers with B_RAW - biodone already ignores returned buffers marked B_RAW. ok art@
Diffstat (limited to 'sys/arch/hppa')
-rw-r--r--sys/arch/hppa/hppa/disksubr.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/arch/hppa/hppa/disksubr.c b/sys/arch/hppa/hppa/disksubr.c
index 6af912c175a..430e505a7a9 100644
--- a/sys/arch/hppa/hppa/disksubr.c
+++ b/sys/arch/hppa/hppa/disksubr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: disksubr.c,v 1.69 2007/06/20 18:15:45 deraadt Exp $ */
+/* $OpenBSD: disksubr.c,v 1.70 2008/06/10 20:50:22 beck Exp $ */
/*
* Copyright (c) 1999 Michael Shalayeff
@@ -107,7 +107,7 @@ readliflabel(struct buf *bp, void (*strat)(struct buf *),
/* read LIF volume header */
bp->b_blkno = btodb(LIF_VOLSTART);
bp->b_bcount = lp->d_secsize;
- bp->b_flags = B_BUSY | B_READ;
+ bp->b_flags = B_BUSY | B_READ | B_RAW;
(*strat)(bp);
if (biowait(bp))
return "LIF volume header I/O error";
@@ -122,7 +122,7 @@ readliflabel(struct buf *bp, void (*strat)(struct buf *),
/* read LIF directory */
dbp->b_blkno = lifstodb(lvp->vol_addr);
dbp->b_bcount = lp->d_secsize;
- dbp->b_flags = B_BUSY | B_READ;
+ dbp->b_flags = B_BUSY | B_READ | B_RAW;
(*strat)(dbp);
if (biowait(dbp)) {
@@ -154,7 +154,7 @@ readliflabel(struct buf *bp, void (*strat)(struct buf *),
/* read LIF directory */
dbp->b_blkno = lifstodb(p->dir_addr);
dbp->b_bcount = lp->d_secsize;
- dbp->b_flags = B_BUSY | B_READ;
+ dbp->b_flags = B_BUSY | B_READ | B_RAW;
(*strat)(dbp);
if (biowait(dbp)) {
@@ -218,7 +218,7 @@ finished:
bp->b_blkno = fsoff + LABELSECTOR;
bp->b_bcount = lp->d_secsize;
- bp->b_flags = B_BUSY | B_READ;
+ bp->b_flags = B_BUSY | B_READ | B_RAW;
(*strat)(bp);
/* if successful, locate disk label within block and validate */
@@ -258,14 +258,14 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp)
/* Read it in, slap the new label in, and write it back out */
bp->b_blkno = partoff + LABELSECTOR;
bp->b_bcount = lp->d_secsize;
- bp->b_flags = B_BUSY | B_READ;
+ bp->b_flags = B_BUSY | B_READ | B_RAW;
(*strat)(bp);
if ((error = biowait(bp)) != 0)
goto done;
dlp = (struct disklabel *)(bp->b_data + LABELOFFSET);
*dlp = *lp;
- bp->b_flags = B_BUSY | B_WRITE;
+ bp->b_flags = B_BUSY | B_WRITE | B_RAW;
(*strat)(bp);
error = biowait(bp);