Skip site navigation (1)Skip section navigation (2)
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>