diff options
author | jkh <jkh@FreeBSD.org> | 1999-08-28 12:10:13 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1999-08-28 12:10:13 +0000 |
commit | fd7c9f422927c897bdcb727833d906f8977e2e65 (patch) | |
tree | 9bd0bd922a1af247800d74608ebb5c74013ffcc0 | |
parent | acd1b54be01ce4c54f8ebe364c00664f321396d9 (diff) | |
download | FreeBSD-src-fd7c9f422927c897bdcb727833d906f8977e2e65.zip FreeBSD-src-fd7c9f422927c897bdcb727833d906f8977e2e65.tar.gz |
Always set the MBR value. When you leave it uninitialized, it seems
like libdisk does bad things. :)
-rw-r--r-- | release/sysinstall/disks.c | 16 | ||||
-rw-r--r-- | usr.sbin/sade/disks.c | 16 | ||||
-rw-r--r-- | usr.sbin/sysinstall/disks.c | 16 |
3 files changed, 18 insertions, 30 deletions
diff --git a/release/sysinstall/disks.c b/release/sysinstall/disks.c index f820976..fe4ee82 100644 --- a/release/sysinstall/disks.c +++ b/release/sysinstall/disks.c @@ -455,20 +455,16 @@ diskPartition(Device *dev) * disk (i.e., the disklabel starts at sector 0), even in cases where the user has requested * booteasy or a "standard" MBR -- both would be fatal in this case. */ -#if 0 - if ((d->chunks->part->flags & CHUNK_FORCE_ALL) != CHUNK_FORCE_ALL - && (mbrContents = getBootMgr(d->name)) != NULL) - Set_Boot_Mgr(d, mbrContents); -#else /* * Don't offer to update the MBR on this disk if the first "real" chunk looks like * a FreeBSD "all disk" partition, or the disk is entirely FreeBSD. */ - if (((d->chunks->part->type != freebsd) || (d->chunks->part->offset > 1)) && - (mbrContents = getBootMgr(d->name)) != NULL) - Set_Boot_Mgr(d, mbrContents); -#endif - + if (((d->chunks->part->type != freebsd) || (d->chunks->part->offset > 1))) + mbrContents = getBootMgr(d->name); + else + mbrContents = NULL; + Set_Boot_Mgr(d, mbrContents); + if (DITEM_STATUS(diskPartitionWrite(NULL)) != DITEM_SUCCESS) msgConfirm("Disk partition write returned an error status!"); else diff --git a/usr.sbin/sade/disks.c b/usr.sbin/sade/disks.c index f820976..fe4ee82 100644 --- a/usr.sbin/sade/disks.c +++ b/usr.sbin/sade/disks.c @@ -455,20 +455,16 @@ diskPartition(Device *dev) * disk (i.e., the disklabel starts at sector 0), even in cases where the user has requested * booteasy or a "standard" MBR -- both would be fatal in this case. */ -#if 0 - if ((d->chunks->part->flags & CHUNK_FORCE_ALL) != CHUNK_FORCE_ALL - && (mbrContents = getBootMgr(d->name)) != NULL) - Set_Boot_Mgr(d, mbrContents); -#else /* * Don't offer to update the MBR on this disk if the first "real" chunk looks like * a FreeBSD "all disk" partition, or the disk is entirely FreeBSD. */ - if (((d->chunks->part->type != freebsd) || (d->chunks->part->offset > 1)) && - (mbrContents = getBootMgr(d->name)) != NULL) - Set_Boot_Mgr(d, mbrContents); -#endif - + if (((d->chunks->part->type != freebsd) || (d->chunks->part->offset > 1))) + mbrContents = getBootMgr(d->name); + else + mbrContents = NULL; + Set_Boot_Mgr(d, mbrContents); + if (DITEM_STATUS(diskPartitionWrite(NULL)) != DITEM_SUCCESS) msgConfirm("Disk partition write returned an error status!"); else diff --git a/usr.sbin/sysinstall/disks.c b/usr.sbin/sysinstall/disks.c index f820976..fe4ee82 100644 --- a/usr.sbin/sysinstall/disks.c +++ b/usr.sbin/sysinstall/disks.c @@ -455,20 +455,16 @@ diskPartition(Device *dev) * disk (i.e., the disklabel starts at sector 0), even in cases where the user has requested * booteasy or a "standard" MBR -- both would be fatal in this case. */ -#if 0 - if ((d->chunks->part->flags & CHUNK_FORCE_ALL) != CHUNK_FORCE_ALL - && (mbrContents = getBootMgr(d->name)) != NULL) - Set_Boot_Mgr(d, mbrContents); -#else /* * Don't offer to update the MBR on this disk if the first "real" chunk looks like * a FreeBSD "all disk" partition, or the disk is entirely FreeBSD. */ - if (((d->chunks->part->type != freebsd) || (d->chunks->part->offset > 1)) && - (mbrContents = getBootMgr(d->name)) != NULL) - Set_Boot_Mgr(d, mbrContents); -#endif - + if (((d->chunks->part->type != freebsd) || (d->chunks->part->offset > 1))) + mbrContents = getBootMgr(d->name); + else + mbrContents = NULL; + Set_Boot_Mgr(d, mbrContents); + if (DITEM_STATUS(diskPartitionWrite(NULL)) != DITEM_SUCCESS) msgConfirm("Disk partition write returned an error status!"); else |