diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 1994-11-08 10:35:52 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 1994-11-08 10:35:52 +0000 |
commit | 9daafd51256c982ec98b8942ceb9107b9147a6e3 (patch) | |
tree | 983cec8a182b6ccc24192d36505231833a692e57 | |
parent | 46c134684cd4c2b2732f175466e11d80dada2bb3 (diff) | |
download | src-9daafd51256c982ec98b8942ceb9107b9147a6e3.tar.gz src-9daafd51256c982ec98b8942ceb9107b9147a6e3.zip |
If we have no MBR, we need to allow the poor guy to write one...
Notes
Notes:
svn path=/head/; revision=4268
-rw-r--r-- | sys/i386/isa/readMBR.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/i386/isa/readMBR.c b/sys/i386/isa/readMBR.c index 27e517f92330..ab944e87d9c9 100644 --- a/sys/i386/isa/readMBR.c +++ b/sys/i386/isa/readMBR.c @@ -15,7 +15,7 @@ * written by julian elischer (julian@tfs.com) * * @(#)readMBR.c 8.5 (tfs) 1/21/94 - * $Id: readMBR.c,v 1.1 1994/10/27 20:44:50 jkh Exp $ + * $Id: readMBR.c,v 1.2 1994/10/28 12:41:55 jkh Exp $ */ #include <sys/param.h> @@ -101,8 +101,11 @@ readMBRtolabel(dev, strat, lp, dp, cyl) */ if ((*(bp->b_un.b_addr + 510) != (char) 0x55) ||(*(bp->b_un.b_addr + 511) != (char) 0xaa)) { - msg = "Disk has no Fdisk partitions"; - goto bad; + printf("disk doesn't have an MBR\n"); + if(dp) + bzero(bp->b_un.b_addr + DOSPARTOFF, + NDOSPART * sizeof(*dp)); + goto hrumpf; } if(dp) { /* if they asked for a copy, give it to them */ @@ -220,6 +223,7 @@ readMBRtolabel(dev, strat, lp, dp, cyl) } lp->d_npartitions = 8; } +hrumpf: bp->b_flags = B_INVAL | B_AGE; brelse(bp); return 0; |