diff options
author | 2011-04-15 14:57:28 +0000 | |
---|---|---|
committer | 2011-04-15 14:57:28 +0000 | |
commit | e08c5f56a57ffa919fd5ff6daf236891e760ef6f (patch) | |
tree | 220ef1cb3038df4c9e59ebb2ae7a3d58a2419539 | |
parent | remove unused function ikev2_flows_delete() (diff) | |
download | wireguard-openbsd-e08c5f56a57ffa919fd5ff6daf236891e760ef6f.tar.xz wireguard-openbsd-e08c5f56a57ffa919fd5ff6daf236891e760ef6f.zip |
In days of yore one could arbitrarily whack buffer flags. Those days
are past. Use CLR() and SET() to modify necessary flags while leaving
the flags used by the buffer cache in peace.
Should make bufcache code much less confused about the state of the
bufs used in reading/writing disklabels. Other such flag abuses no
doubt await a visit.
Errors in original diff found by miod@.
ok beck@ deraadt@
27 files changed, 177 insertions, 102 deletions
diff --git a/sys/arch/alpha/alpha/disksubr.c b/sys/arch/alpha/alpha/disksubr.c index ffecd7d5c37..56a4fb5ce96 100644 --- a/sys/arch/alpha/alpha/disksubr.c +++ b/sys/arch/alpha/alpha/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.96 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.97 2011/04/15 14:57:28 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -65,7 +65,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -119,7 +120,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if ((error = biowait(bp)) != 0) goto done; @@ -133,7 +135,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) csum += *p++; *p = csum; - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/amd64/amd64/disksubr.c b/sys/arch/amd64/amd64/disksubr.c index 4d59842864c..253d11b069d 100644 --- a/sys/arch/amd64/amd64/disksubr.c +++ b/sys/arch/amd64/amd64/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.59 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.60 2011/04/15 14:57:28 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -135,14 +135,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/amd64/amd64/dkcsum.c b/sys/arch/amd64/amd64/dkcsum.c index 0475b483abb..e95fb12119f 100644 --- a/sys/arch/amd64/amd64/dkcsum.c +++ b/sys/arch/amd64/amd64/dkcsum.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dkcsum.c,v 1.16 2010/12/07 00:30:40 dlg Exp $ */ +/* $OpenBSD: dkcsum.c,v 1.17 2011/04/15 14:57:28 krw Exp $ */ /*- * Copyright (c) 1997 Niklas Hallqvist. All rights reserved. @@ -113,7 +113,8 @@ dkcsumattach(void) /* Read blocks to cksum. XXX maybe a d_read should be used. */ bp->b_blkno = 0; bp->b_bcount = bios_cksumlen * DEV_BSIZE; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); bp->b_cylinder = 0; (*bdsw->d_strategy)(bp); if ((error = biowait(bp))) { diff --git a/sys/arch/arm/arm/disksubr.c b/sys/arch/arm/arm/disksubr.c index 3b1bf7d2284..f5cd51b2fed 100644 --- a/sys/arch/arm/arm/disksubr.c +++ b/sys/arch/arm/arm/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.54 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.55 2011/04/15 14:57:28 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -110,14 +110,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/aviion/aviion/disksubr.c b/sys/arch/aviion/aviion/disksubr.c index 9d18e9ee082..e1e819174ed 100644 --- a/sys/arch/aviion/aviion/disksubr.c +++ b/sys/arch/aviion/aviion/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.47 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.48 2011/04/15 14:57:28 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -110,14 +110,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/hp300/hp300/disksubr.c b/sys/arch/hp300/hp300/disksubr.c index ed7bfd117b3..5609d121398 100644 --- a/sys/arch/hp300/hp300/disksubr.c +++ b/sys/arch/hp300/hp300/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.49 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.50 2011/04/15 14:57:28 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.9 1997/04/01 03:12:13 scottr Exp $ */ /* @@ -69,7 +69,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -116,7 +117,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) bp->b_dev = dev; bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if ((error = biowait(bp)) != 0) goto done; @@ -124,7 +126,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) /* Write it in the regular place. */ dlp = (struct disklabel *)(bp->b_data + LABELOFFSET); *dlp = *lp; - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/hppa/hppa/disksubr.c b/sys/arch/hppa/hppa/disksubr.c index cab45670c51..d8182be2974 100644 --- a/sys/arch/hppa/hppa/disksubr.c +++ b/sys/arch/hppa/hppa/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.78 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.79 2011/04/15 14:57:28 krw Exp $ */ /* * Copyright (c) 1999 Michael Shalayeff @@ -104,7 +104,8 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return bp->b_error; @@ -121,7 +122,8 @@ 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 | B_RAW; + CLR(dbp->b_flags, B_WRITE | B_DONE); + SET(dbp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(dbp); if (biowait(dbp)) { error = dbp->b_error; @@ -153,7 +155,8 @@ 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 | B_RAW; + CLR(dbp->b_flags, B_WRITE | B_DONE); + SET(dbp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(dbp); if (biowait(dbp)) { @@ -223,7 +226,8 @@ finished: bp->b_blkno = fsoff + LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -262,14 +266,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/hppa64/hppa64/disksubr.c b/sys/arch/hppa64/hppa64/disksubr.c index fb9348507e9..a22a77f4740 100644 --- a/sys/arch/hppa64/hppa64/disksubr.c +++ b/sys/arch/hppa64/hppa64/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.62 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.63 2011/04/15 14:57:28 krw Exp $ */ /* * Copyright (c) 1999 Michael Shalayeff @@ -104,7 +104,8 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return (bp->b_error); @@ -121,7 +122,8 @@ 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 | B_RAW; + CLR(dbp->b_flags, B_WRITE | B_DONE); + SET(dbp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(dbp); if (biowait(dbp)) { error = dbp->b_error; @@ -153,7 +155,8 @@ 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 | B_RAW; + CLR(dbp->b_flags, B_WRITE | B_DONE); + SET(dbp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(dbp); if (biowait(dbp)) { @@ -223,7 +226,8 @@ finished: bp->b_blkno = fsoff + LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -262,14 +266,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/i386/i386/disksubr.c b/sys/arch/i386/i386/disksubr.c index ece1edc4f20..6a5efdd3bc2 100644 --- a/sys/arch/i386/i386/disksubr.c +++ b/sys/arch/i386/i386/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.101 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.102 2011/04/15 14:57:28 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -139,14 +139,16 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) bp->b_blkno = DL_BLKTOSEC(lp, partoff+LABELSECTOR) * DL_BLKSPERSEC(lp); offset = DL_BLKOFFSET(lp, partoff + LABELSECTOR) + LABELOFFSET; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if ((error = biowait(bp)) != 0) goto done; dlp = (struct disklabel *)(bp->b_data + offset); *dlp = *lp; - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/i386/i386/dkcsum.c b/sys/arch/i386/i386/dkcsum.c index a381235654c..7c17e08218e 100644 --- a/sys/arch/i386/i386/dkcsum.c +++ b/sys/arch/i386/i386/dkcsum.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dkcsum.c,v 1.27 2010/12/07 00:44:48 dlg Exp $ */ +/* $OpenBSD: dkcsum.c,v 1.28 2011/04/15 14:57:28 krw Exp $ */ /*- * Copyright (c) 1997 Niklas Hallqvist. All rights reserved. @@ -113,7 +113,8 @@ dkcsumattach(void) /* Read blocks to cksum. XXX maybe a d_read should be used. */ bp->b_blkno = 0; bp->b_bcount = bios_cksumlen * DEV_BSIZE; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); bp->b_cylinder = 0; (*bdsw->d_strategy)(bp); if ((error = biowait(bp))) { diff --git a/sys/arch/landisk/landisk/disksubr.c b/sys/arch/landisk/landisk/disksubr.c index 72d2d077e85..49b110fcc15 100644 --- a/sys/arch/landisk/landisk/disksubr.c +++ b/sys/arch/landisk/landisk/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.42 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.43 2011/04/15 14:57:28 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -110,14 +110,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/loongson/loongson/disksubr.c b/sys/arch/loongson/loongson/disksubr.c index 30ecf5b5fb2..0c7d05c0483 100644 --- a/sys/arch/loongson/loongson/disksubr.c +++ b/sys/arch/loongson/loongson/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.3 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.4 2011/04/15 14:57:28 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -110,14 +110,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/luna88k/luna88k/disksubr.c b/sys/arch/luna88k/luna88k/disksubr.c index 6f26249ace4..88414884d58 100644 --- a/sys/arch/luna88k/luna88k/disksubr.c +++ b/sys/arch/luna88k/luna88k/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.48 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.49 2011/04/15 14:57:28 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.12 2002/02/19 17:09:44 wiz Exp $ */ /* @@ -120,7 +120,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), bp->b_blkno = LABELSECTOR; bp->b_cylinder = 0; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -173,7 +174,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) bp->b_blkno = LABELSECTOR; bp->b_cylinder = 0; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); error = biowait(bp); @@ -185,7 +187,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) if (error) goto done; - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/mac68k/mac68k/disksubr.c b/sys/arch/mac68k/mac68k/disksubr.c index e8d95fecfb5..a30e0caa73c 100644 --- a/sys/arch/mac68k/mac68k/disksubr.c +++ b/sys/arch/mac68k/mac68k/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.61 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.62 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.22 1997/11/26 04:18:20 briggs Exp $ */ /* @@ -410,7 +410,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), bp->b_blkno = LABELSECTOR; bp->b_bcount = size; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -430,7 +431,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), /* Get a MI label */ bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -487,7 +489,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if ((error = biowait(bp)) != 0) goto done; @@ -501,7 +504,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) dlp = (struct disklabel *)(bp->b_data + LABELOFFSET); *dlp = *lp; - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/macppc/macppc/disksubr.c b/sys/arch/macppc/macppc/disksubr.c index b5468a7ffb9..ae722f1d37d 100644 --- a/sys/arch/macppc/macppc/disksubr.c +++ b/sys/arch/macppc/macppc/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.70 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.71 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -108,7 +108,8 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return (bp->b_error); @@ -126,7 +127,8 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return (bp->b_error); @@ -175,7 +177,8 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return(bp->b_error); @@ -205,14 +208,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/mvme68k/mvme68k/disksubr.c b/sys/arch/mvme68k/mvme68k/disksubr.c index 13cf1511680..e92e997127a 100644 --- a/sys/arch/mvme68k/mvme68k/disksubr.c +++ b/sys/arch/mvme68k/mvme68k/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.70 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.71 2011/04/15 14:57:29 krw Exp $ */ /* * Copyright (c) 1998 Steve Murphree, Jr. * Copyright (c) 1995 Dale Rahn. @@ -63,7 +63,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -110,14 +111,16 @@ 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 = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if ((error = biowait(bp)) != 0) goto done; bsdtocpulabel(lp, (struct mvmedisklabel *)bp->b_data); - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/mvme88k/mvme88k/disksubr.c b/sys/arch/mvme88k/mvme88k/disksubr.c index d1e72dd942c..796a4c6c07e 100644 --- a/sys/arch/mvme88k/mvme88k/disksubr.c +++ b/sys/arch/mvme88k/mvme88k/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.66 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.67 2011/04/15 14:57:29 krw Exp $ */ /* * Copyright (c) 1998 Steve Murphree, Jr. * Copyright (c) 1995 Dale Rahn. @@ -63,7 +63,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -110,14 +111,16 @@ 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 = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if ((error = biowait(bp)) != 0) goto done; bsdtocpulabel(lp, (struct mvmedisklabel *)bp->b_data); - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/mvmeppc/mvmeppc/disksubr.c b/sys/arch/mvmeppc/mvmeppc/disksubr.c index b81805964cb..84888764493 100644 --- a/sys/arch/mvmeppc/mvmeppc/disksubr.c +++ b/sys/arch/mvmeppc/mvmeppc/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.60 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.61 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -110,14 +110,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/octeon/octeon/disksubr.c b/sys/arch/octeon/octeon/disksubr.c index 30ecf5b5fb2..45380b2089a 100644 --- a/sys/arch/octeon/octeon/disksubr.c +++ b/sys/arch/octeon/octeon/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.3 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.4 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -110,14 +110,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/sgi/sgi/disksubr.c b/sys/arch/sgi/sgi/disksubr.c index 59e01b6b51b..0eea3ff3c91 100644 --- a/sys/arch/sgi/sgi/disksubr.c +++ b/sys/arch/sgi/sgi/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.21 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.22 2011/04/15 14:57:29 krw Exp $ */ /* * Copyright (c) 1999 Michael Shalayeff @@ -118,7 +118,8 @@ readsgilabel(struct buf *bp, void (*strat)(struct buf *), bp->b_blkno = 0; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); /* if successful, locate disk label within block and validate */ @@ -199,7 +200,8 @@ finished: DL_BLKSPERSEC(lp); offset = DL_BLKOFFSET(lp, fsoffs + LABELSECTOR) + LABELOFFSET; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return (bp->b_error); @@ -230,14 +232,16 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) bp->b_blkno = DL_BLKTOSEC(lp, partoff+LABELSECTOR) * DL_BLKSPERSEC(lp); offset = DL_BLKOFFSET(lp, partoff + LABELSECTOR) + LABELOFFSET; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if ((error = biowait(bp)) != 0) goto done; dlp = (struct disklabel *)(bp->b_data + offset); *dlp = *lp; - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/socppc/socppc/disksubr.c b/sys/arch/socppc/socppc/disksubr.c index 53d62071981..22919ae18e8 100644 --- a/sys/arch/socppc/socppc/disksubr.c +++ b/sys/arch/socppc/socppc/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.13 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.14 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ /* @@ -108,7 +108,8 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return (bp->b_error); @@ -126,7 +127,8 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return (bp->b_error); @@ -174,7 +176,8 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return (bp->b_error); @@ -204,14 +207,16 @@ 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 | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/sparc/sparc/disksubr.c b/sys/arch/sparc/sparc/disksubr.c index 5aeee6bcc1d..0cab0c066c3 100644 --- a/sys/arch/sparc/sparc/disksubr.c +++ b/sys/arch/sparc/sparc/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.88 2011/04/06 13:46:50 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.89 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.16 1996/04/28 20:25:59 thorpej Exp $ */ /* @@ -102,7 +102,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -165,7 +166,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) /* Write out the updated label. */ bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/sparc64/sparc64/disksubr.c b/sys/arch/sparc64/sparc64/disksubr.c index 94db5a98104..20dd0f4a109 100644 --- a/sys/arch/sparc64/sparc64/disksubr.c +++ b/sys/arch/sparc64/sparc64/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.64 2011/04/06 13:46:51 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.65 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.13 2000/12/17 22:39:18 pk Exp $ */ /* @@ -95,7 +95,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -157,7 +158,8 @@ writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) /* Write out the updated label. */ bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_WRITE | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/arch/vax/vax/disksubr.c b/sys/arch/vax/vax/disksubr.c index 1704f28056f..4c8245cb677 100644 --- a/sys/arch/vax/vax/disksubr.c +++ b/sys/arch/vax/vax/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.63 2011/04/06 13:46:51 miod Exp $ */ +/* $OpenBSD: disksubr.c,v 1.64 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.21 1999/06/30 18:48:06 ragge Exp $ */ /* @@ -77,7 +77,8 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) { error = bp->b_error; @@ -126,14 +127,16 @@ 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 = LABELSECTOR; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(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 | B_RAW; + CLR(bp->b_flags, B_READ | B_DONE); + SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); (*strat)(bp); error = biowait(bp); diff --git a/sys/isofs/cd9660/cd9660_vfsops.c b/sys/isofs/cd9660/cd9660_vfsops.c index c1306f654b1..c6a53f75616 100644 --- a/sys/isofs/cd9660/cd9660_vfsops.c +++ b/sys/isofs/cd9660/cd9660_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cd9660_vfsops.c,v 1.56 2010/12/21 20:14:43 thib Exp $ */ +/* $OpenBSD: cd9660_vfsops.c,v 1.57 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: cd9660_vfsops.c,v 1.26 1997/06/13 15:38:58 pk Exp $ */ /*- @@ -479,7 +479,8 @@ iso_disklabelspoof(dev, strat, lp) for (iso_blknum = 16; iso_blknum < 100; iso_blknum++) { bp->b_blkno = iso_blknum * btodb(ISO_DEFAULT_BLOCK_SIZE); bp->b_bcount = ISO_DEFAULT_BLOCK_SIZE; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); bp->b_cylinder = bp->b_blkno / lp->d_secpercyl; /*printf("d_secsize %d iso_blknum %d b_blkno %d bcount %d\n", diff --git a/sys/isofs/udf/udf_subr.c b/sys/isofs/udf/udf_subr.c index f823d0d8b75..5dc2c014315 100644 --- a/sys/isofs/udf/udf_subr.c +++ b/sys/isofs/udf/udf_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: udf_subr.c,v 1.20 2009/05/21 23:45:48 krw Exp $ */ +/* $OpenBSD: udf_subr.c,v 1.21 2011/04/15 14:57:29 krw Exp $ */ /* * Copyright (c) 2006, Miodrag Vallat @@ -110,7 +110,8 @@ udf_disklabelspoof(dev_t dev, void (*strat)(struct buf *), */ bp->b_blkno = sector * btodb(bsize); bp->b_bcount = bsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); bp->b_resid = bp->b_blkno / lp->d_secpercyl; (*strat)(bp); @@ -130,7 +131,8 @@ udf_disklabelspoof(dev_t dev, void (*strat)(struct buf *), for (sector = mvds_start; sector < mvds_end; sector++) { bp->b_blkno = sector * btodb(bsize); bp->b_bcount = bsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); bp->b_resid = bp->b_blkno / lp->d_secpercyl; (*strat)(bp); diff --git a/sys/kern/subr_disk.c b/sys/kern/subr_disk.c index 9692ad43993..d9ccb8a229d 100644 --- a/sys/kern/subr_disk.c +++ b/sys/kern/subr_disk.c @@ -1,4 +1,4 @@ -/* $OpenBSD: subr_disk.c,v 1.117 2011/03/19 01:21:57 krw Exp $ */ +/* $OpenBSD: subr_disk.c,v 1.118 2011/04/15 14:57:29 krw Exp $ */ /* $NetBSD: subr_disk.c,v 1.17 1996/03/16 23:17:08 christos Exp $ */ /* @@ -410,7 +410,8 @@ readdoslabel(struct buf *bp, void (*strat)(struct buf *), bp->b_blkno = DL_BLKTOSEC(lp, part_blkno) * DL_BLKSPERSEC(lp); offset = DL_BLKOFFSET(lp, part_blkno) + DOSPARTOFF; bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); error = biowait(bp); if (error) { @@ -595,7 +596,8 @@ notfat: DL_BLKSPERSEC(lp); offset = DL_BLKOFFSET(lp, dospartoff + DOS_LABELSECTOR); bp->b_bcount = lp->d_secsize; - bp->b_flags = B_BUSY | B_READ | B_RAW; + CLR(bp->b_flags, B_WRITE | B_DONE); + SET(bp->b_flags, B_BUSY | B_READ | B_RAW); (*strat)(bp); if (biowait(bp)) return (bp->b_error); |