From 7b9768b8af911b0c6b25a9d357325da1ba59bb5d Mon Sep 17 00:00:00 2001 From: Bob Beck Date: Tue, 10 Jun 2008 20:50:24 +0000 Subject: 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@ --- sys/arch/macppc/macppc/disksubr.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'sys/arch/macppc') diff --git a/sys/arch/macppc/macppc/disksubr.c b/sys/arch/macppc/macppc/disksubr.c index 7430bb4e338..c3312650d39 100644 --- a/sys/arch/macppc/macppc/disksubr.c +++ b/sys/arch/macppc/macppc/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.57 2007/06/20 18:15:46 deraadt Exp $ */ +/* $OpenBSD: disksubr.c,v 1.58 2008/06/10 20:50:23 beck Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -111,7 +111,7 @@ readdpmelabel(struct buf *bp, void (*strat)(struct buf *), /* First check for a DPME (HFS) disklabel */ bp->b_blkno = 1; 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 ("DPME partition I/O error"); @@ -129,7 +129,7 @@ readdpmelabel(struct buf *bp, void (*strat)(struct buf *), bp->b_blkno = 1+i; 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 ("DPME partition I/O error"); @@ -165,7 +165,7 @@ readdpmelabel(struct buf *bp, void (*strat)(struct buf *), /* next, dig out disk label */ bp->b_blkno = hfspartoff + 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 (biowait(bp)) return("disk label I/O error"); @@ -194,14 +194,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); -- cgit v1.2.3