Date: Mon, 11 Dec 1995 04:50:24 -0800 From: "Jordan K. Hubbard" <jkh@time.cdrom.com> To: phk@freebsd.org Cc: hackers@freebsd.org Subject: sysinstall considered harmful! Message-ID: <14676.818686224@time.cdrom.com>
next in thread | raw e-mail | index | archive | help
Well, it's official - sysinstall does indeed have a pathological bug that will *destroy* the label on your drive zero if you use it later to partition some other drive, EVEN THOUGH YOU'VE NOT SELECTED DRIVE ZERO! I just helped David put his system back together after he used sysinstall to partition a new disk, and he confirms that he most definitely did not select drive zero before sysinstall stomped on it. Following the other 2 or 3 "suspicious" reports I've received on this topic, this pretty much confirms the malfunction to me. The code fragment from /usr/src/release/sysinstall/disks.c that writes disk labels out looks like this: for (i = 0; devs[i]; i++) { Chunk *c1; Disk *d = (Disk *)devs[i]->private; if (!devs[i]->enabled) continue; Set_Boot_Blocks(d, boot1, boot2); msgNotify("Writing partition information to drive %s", d->name); if (Write_Disk(d)) { dialog_clear(); msgConfirm("ERROR: Unable to write data to disk %s!", d->name); return RET_FAIL; } If devs[i]->enabled is not set, which I've proven to be the case for all disks that weren't selected, it will skip the disk, leading me to believe that the bug must lie somewhere in libdisk's Write_Disk() routine. Either that or there's a compiler bug which is causing the initialization of `d' to fail - quite unlikely, I'd say. Since you're the only human alive (or dead) who understands libdisk, could you possibly take a look at it? I'd like to have a new version of sysinstall available that 2.1 users can whap over their existing one if at all possible given that this is a _really bad_ bug! Thanks! Jordan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14676.818686224>