From fd7c9f422927c897bdcb727833d906f8977e2e65 Mon Sep 17 00:00:00 2001 From: jkh Date: Sat, 28 Aug 1999 12:10:13 +0000 Subject: [PATCH] Always set the MBR value. When you leave it uninitialized, it seems like libdisk does bad things. :) --- release/sysinstall/disks.c | 16 ++++++---------- usr.sbin/sade/disks.c | 16 ++++++---------- 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 f820976a2dcb..fe4ee828b4a5 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 f820976a2dcb..fe4ee828b4a5 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 f820976a2dcb..fe4ee828b4a5 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