summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/i386/isa/diskslice_machdep.c10
-rw-r--r--sys/kern/subr_diskmbr.c10
2 files changed, 14 insertions, 6 deletions
diff --git a/sys/i386/isa/diskslice_machdep.c b/sys/i386/isa/diskslice_machdep.c
index 6b2af2b..1aebd3e 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.6 1995/02/22 22:46:36 bde Exp $
+ * $Id: diskslice_machdep.c,v 1.7 1995/03/04 11:44:05 bde Exp $
*/
#include <stddef.h>
@@ -306,7 +306,7 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset,
diskerr(bp, dname, "error reading extended partition table",
LOG_PRINTF, 0, lp);
printf("\n");
- return;
+ goto done;
}
/* Weakly verify it. */
@@ -315,7 +315,7 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset,
diskerr(bp, dname, "invalid extended partition table",
LOG_PRINTF, 0, lp);
printf("\n");
- return;
+ goto done;
}
for (dospart = 0,
@@ -362,4 +362,8 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset,
extended(dname, dev, strat, lp, ssp,
ext_offsets[dospart], ext_sizes[dospart],
base_ext_offset, nsectors, ntracks);
+
+done:
+ bp->b_flags = B_INVAL | B_AGE;
+ brelse(bp);
}
diff --git a/sys/kern/subr_diskmbr.c b/sys/kern/subr_diskmbr.c
index 6b2af2b..1aebd3e 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.6 1995/02/22 22:46:36 bde Exp $
+ * $Id: diskslice_machdep.c,v 1.7 1995/03/04 11:44:05 bde Exp $
*/
#include <stddef.h>
@@ -306,7 +306,7 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset,
diskerr(bp, dname, "error reading extended partition table",
LOG_PRINTF, 0, lp);
printf("\n");
- return;
+ goto done;
}
/* Weakly verify it. */
@@ -315,7 +315,7 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset,
diskerr(bp, dname, "invalid extended partition table",
LOG_PRINTF, 0, lp);
printf("\n");
- return;
+ goto done;
}
for (dospart = 0,
@@ -362,4 +362,8 @@ extended(dname, dev, strat, lp, ssp, ext_offset, ext_size, base_ext_offset,
extended(dname, dev, strat, lp, ssp,
ext_offsets[dospart], ext_sizes[dospart],
base_ext_offset, nsectors, ntracks);
+
+done:
+ bp->b_flags = B_INVAL | B_AGE;
+ brelse(bp);
}
OpenPOWER on IntegriCloud