diff options
| author | Bruce Evans <bde@FreeBSD.org> | 1996-04-19 19:34:19 +0000 |
|---|---|---|
| committer | Bruce Evans <bde@FreeBSD.org> | 1996-04-19 19:34:19 +0000 |
| commit | 10d245c58aa5de36e5a9f243ff3644ef81e8c2ba (patch) | |
| tree | 96bd3a1887d0dcafc0776064996e82f702720786 /sys/kern | |
| parent | 3f6456427801e44f8c7c7cfab450718c759faa51 (diff) | |
Notes
Diffstat (limited to 'sys/kern')
| -rw-r--r-- | sys/kern/subr_disklabel.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/subr_disklabel.c b/sys/kern/subr_disklabel.c index ee889405c371..19bf0ad58f40 100644 --- a/sys/kern/subr_disklabel.c +++ b/sys/kern/subr_disklabel.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_disksubr.c 8.5 (Berkeley) 1/21/94 - * $Id: ufs_disksubr.c,v 1.20 1995/11/23 07:24:32 dyson Exp $ + * $Id: ufs_disksubr.c,v 1.22 1996/03/02 01:49:51 dyson Exp $ */ #include <sys/param.h> @@ -254,6 +254,7 @@ readdisklabel(dev, strat, lp) bp->b_dev = dev; bp->b_blkno = LABELSECTOR; bp->b_bcount = lp->d_secsize; + bp->b_flags &= ~B_INVAL; bp->b_flags |= B_BUSY | B_READ; bp->b_cylinder = LABELSECTOR / lp->d_secpercyl; (*strat)(bp); @@ -363,6 +364,7 @@ writedisklabel(dev, strat, lp) * Note that you can't write a label out over a corrupted label! * (also stupid.. how do you write the first one? by raw writes?) */ + bp->b_flags &= ~B_INVAL; bp->b_flags |= B_BUSY | B_READ; (*strat)(bp); error = biowait(bp); @@ -375,6 +377,7 @@ writedisklabel(dev, strat, lp) if (dlp->d_magic == DISKMAGIC && dlp->d_magic2 == DISKMAGIC && dkcksum(dlp) == 0) { *dlp = *lp; + bp->b_flags &= ~(B_DONE | B_READ); bp->b_flags |= B_BUSY | B_WRITE; (*strat)(bp); error = biowait(bp); @@ -387,6 +390,7 @@ done: bzero(bp->b_data, lp->d_secsize); dlp = (struct disklabel *)bp->b_data; *dlp = *lp; + bp->b_flags &= ~B_INVAL; bp->b_flags |= B_BUSY | B_WRITE; (*strat)(bp); error = biowait(bp); |
