summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-03-01 19:01:04 +0000
committerdyson <dyson@FreeBSD.org>1996-03-01 19:01:04 +0000
commit0d3859fc4832bd1d80625f81b97b1e37cc44bb93 (patch)
tree2d024ea1c506b42db3f4ed7e2046021f1f8d2caa /sys
parent2dac23e9f496bd5dc0a82b65d5a5767f36b77fb3 (diff)
downloadFreeBSD-src-0d3859fc4832bd1d80625f81b97b1e37cc44bb93.zip
FreeBSD-src-0d3859fc4832bd1d80625f81b97b1e37cc44bb93.tar.gz
Fix a bug that b_flags was getting unnecessarily modified by
the slice code. The effect up to now has been insignficant, but improved buffer allocation code will break with this problem.
Diffstat (limited to 'sys')
-rw-r--r--sys/i386/isa/diskslice_machdep.c8
-rw-r--r--sys/kern/subr_disklabel.c6
-rw-r--r--sys/kern/subr_diskmbr.c8
-rw-r--r--sys/kern/subr_dkbad.c2
-rw-r--r--sys/ufs/ufs/ufs_disksubr.c6
5 files changed, 15 insertions, 15 deletions
diff --git a/sys/i386/isa/diskslice_machdep.c b/sys/i386/isa/diskslice_machdep.c
index 4cfd7ec..a19930c 100644
--- a/sys/i386/isa/diskslice_machdep.c
+++ b/sys/i386/isa/diskslice_machdep.c
@@ -35,7 +35,7 @@
*
* from: @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91
* from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $
- * $Id: diskslice_machdep.c,v 1.16 1995/08/23 11:43:45 jkh Exp $
+ * $Id: diskslice_machdep.c,v 1.17 1995/10/28 15:38:55 phk Exp $
*/
#include <stddef.h>
@@ -221,7 +221,7 @@ reread_mbr:
if (bootverbose)
printf(
"%s: Found \"Ontrack Disk Manager\" on this disk.\n", sname);
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
mbr_offset = 63;
goto reread_mbr;
@@ -342,7 +342,7 @@ reread_mbr:
max_nsectors, max_ntracks, mbr_offset);
done:
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
if (error == EINVAL)
error = 0;
@@ -447,6 +447,6 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset,
mbr_offset);
done:
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
}
diff --git a/sys/kern/subr_disklabel.c b/sys/kern/subr_disklabel.c
index 3598a69..5bdf975 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.19 1995/09/16 17:04:06 bde Exp $
+ * $Id: ufs_disksubr.c,v 1.20 1995/11/23 07:24:32 dyson Exp $
*/
#include <sys/param.h>
@@ -275,7 +275,7 @@ readdisklabel(dev, strat, lp)
break;
}
}
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
return (msg);
}
@@ -391,7 +391,7 @@ done:
(*strat)(bp);
error = biowait(bp);
#endif
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
return (error);
}
diff --git a/sys/kern/subr_diskmbr.c b/sys/kern/subr_diskmbr.c
index 4cfd7ec..a19930c 100644
--- a/sys/kern/subr_diskmbr.c
+++ b/sys/kern/subr_diskmbr.c
@@ -35,7 +35,7 @@
*
* from: @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91
* from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $
- * $Id: diskslice_machdep.c,v 1.16 1995/08/23 11:43:45 jkh Exp $
+ * $Id: diskslice_machdep.c,v 1.17 1995/10/28 15:38:55 phk Exp $
*/
#include <stddef.h>
@@ -221,7 +221,7 @@ reread_mbr:
if (bootverbose)
printf(
"%s: Found \"Ontrack Disk Manager\" on this disk.\n", sname);
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
mbr_offset = 63;
goto reread_mbr;
@@ -342,7 +342,7 @@ reread_mbr:
max_nsectors, max_ntracks, mbr_offset);
done:
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
if (error == EINVAL)
error = 0;
@@ -447,6 +447,6 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset,
mbr_offset);
done:
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
}
diff --git a/sys/kern/subr_dkbad.c b/sys/kern/subr_dkbad.c
index e685abf..1fa3e3e 100644
--- a/sys/kern/subr_dkbad.c
+++ b/sys/kern/subr_dkbad.c
@@ -132,7 +132,7 @@ readbad144(dev, strat, lp, bdp)
msg = "bad sector table I/O error";
} while ((bp->b_flags & B_ERROR) && (i += 2) < 10 &&
i < lp->d_nsectors);
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
return (msg);
}
diff --git a/sys/ufs/ufs/ufs_disksubr.c b/sys/ufs/ufs/ufs_disksubr.c
index 3598a69..5bdf975 100644
--- a/sys/ufs/ufs/ufs_disksubr.c
+++ b/sys/ufs/ufs/ufs_disksubr.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_disksubr.c 8.5 (Berkeley) 1/21/94
- * $Id: ufs_disksubr.c,v 1.19 1995/09/16 17:04:06 bde Exp $
+ * $Id: ufs_disksubr.c,v 1.20 1995/11/23 07:24:32 dyson Exp $
*/
#include <sys/param.h>
@@ -275,7 +275,7 @@ readdisklabel(dev, strat, lp)
break;
}
}
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
return (msg);
}
@@ -391,7 +391,7 @@ done:
(*strat)(bp);
error = biowait(bp);
#endif
- bp->b_flags = B_INVAL | B_AGE;
+ bp->b_flags |= B_INVAL | B_AGE;
brelse(bp);
return (error);
}
OpenPOWER on IntegriCloud