summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/hp300/hp300/disksubr.c10
-rw-r--r--sys/arch/pc532/pc532/disksubr.c8
-rw-r--r--sys/arch/pmax/pmax/disksubr.c8
3 files changed, 22 insertions, 4 deletions
diff --git a/sys/arch/hp300/hp300/disksubr.c b/sys/arch/hp300/hp300/disksubr.c
index b133efa4368..6e468667cf7 100644
--- a/sys/arch/hp300/hp300/disksubr.c
+++ b/sys/arch/hp300/hp300/disksubr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: disksubr.c,v 1.6 1997/08/08 21:46:42 niklas Exp $ */
+/* $OpenBSD: disksubr.c,v 1.7 1997/10/02 00:58:08 deraadt Exp $ */
/* $NetBSD: disksubr.c,v 1.9 1997/04/01 03:12:13 scottr Exp $ */
/*
@@ -199,7 +199,13 @@ writedisklabel(dev, strat, lp, osdep)
goto done;
}
}
- error = ESRCH;
+ /* Write it in the regular place. */
+ *(struct disklabel *)bp->b_data = *lp;
+ bp->b_flags = B_BUSY | B_WRITE;
+ (*strat)(bp);
+ error = biowait(bp);
+ goto done;
+
done:
brelse(bp);
return (error);
diff --git a/sys/arch/pc532/pc532/disksubr.c b/sys/arch/pc532/pc532/disksubr.c
index b133d15a577..597a01aa878 100644
--- a/sys/arch/pc532/pc532/disksubr.c
+++ b/sys/arch/pc532/pc532/disksubr.c
@@ -185,7 +185,13 @@ writedisklabel(dev, strat, lp, osdep)
goto done;
}
}
- error = ESRCH;
+ /* Write it in the regular place. */
+ *(struct disklabel *)bp->b_data = *lp;
+ bp->b_flags = B_BUSY | B_WRITE;
+ (*strat)(bp);
+ error = biowait(bp);
+ goto done;
+
done:
brelse(bp);
return (error);
diff --git a/sys/arch/pmax/pmax/disksubr.c b/sys/arch/pmax/pmax/disksubr.c
index c9c4026425d..76ccc58fae0 100644
--- a/sys/arch/pmax/pmax/disksubr.c
+++ b/sys/arch/pmax/pmax/disksubr.c
@@ -278,7 +278,13 @@ writedisklabel(dev, strat, lp, osdep)
goto done;
}
}
- error = ESRCH;
+ /* Write it in the regular place. */
+ *(struct disklabel *)bp->b_data = *lp;
+ bp->b_flags = B_BUSY | B_WRITE;
+ (*strat)(bp);
+ error = biowait(bp);
+ goto done;
+
done:
brelse(bp);
return (error);