Restore the ability to override the disk unit/partition at the boot: prompt
in gptboot. When arch-independent geli support was added, a new static 'gdsk' struct was added, but there was still a static 'dsk' struct, and when you typed in an alternate disk/partition, the string was parsed into that struct, which was then never used for anything. Now the string gets parsed into gdsk.dsk, the struct that's actually used. X-MFC after: 3 days
This commit is contained in:
parent
70b242654b
commit
b09f57e843
@ -81,7 +81,6 @@ uint32_t opts;
|
|||||||
static const char *const dev_nm[NDEV] = {"ad", "da", "fd"};
|
static const char *const dev_nm[NDEV] = {"ad", "da", "fd"};
|
||||||
static const unsigned char dev_maj[NDEV] = {30, 4, 2};
|
static const unsigned char dev_maj[NDEV] = {30, 4, 2};
|
||||||
|
|
||||||
static struct dsk dsk;
|
|
||||||
static char kname[1024];
|
static char kname[1024];
|
||||||
static int comspeed = SIOSPD;
|
static int comspeed = SIOSPD;
|
||||||
static struct bootinfo bootinfo;
|
static struct bootinfo bootinfo;
|
||||||
@ -569,22 +568,22 @@ parse_cmds(char *cmdstr, int *dskupdated)
|
|||||||
arg[1] != dev_nm[i][1]; i++)
|
arg[1] != dev_nm[i][1]; i++)
|
||||||
if (i == NDEV - 1)
|
if (i == NDEV - 1)
|
||||||
return (-1);
|
return (-1);
|
||||||
dsk.type = i;
|
gdsk.dsk.type = i;
|
||||||
arg += 3;
|
arg += 3;
|
||||||
dsk.unit = *arg - '0';
|
gdsk.dsk.unit = *arg - '0';
|
||||||
if (arg[1] != 'p' || dsk.unit > 9)
|
if (arg[1] != 'p' || gdsk.dsk.unit > 9)
|
||||||
return (-1);
|
return (-1);
|
||||||
arg += 2;
|
arg += 2;
|
||||||
dsk.part = *arg - '0';
|
gdsk.dsk.part = *arg - '0';
|
||||||
if (dsk.part < 1 || dsk.part > 9)
|
if (gdsk.dsk.part < 1 || gdsk.dsk.part > 9)
|
||||||
return (-1);
|
return (-1);
|
||||||
arg++;
|
arg++;
|
||||||
if (arg[0] != ')')
|
if (arg[0] != ')')
|
||||||
return (-1);
|
return (-1);
|
||||||
arg++;
|
arg++;
|
||||||
if (drv == -1)
|
if (drv == -1)
|
||||||
drv = dsk.unit;
|
drv = gdsk.dsk.unit;
|
||||||
dsk.drive = (dsk.type <= TYPE_MAXHARD
|
gdsk.dsk.drive = (gdsk.dsk.type <= TYPE_MAXHARD
|
||||||
? DRV_HARD : 0) + drv;
|
? DRV_HARD : 0) + drv;
|
||||||
*dskupdated = 1;
|
*dskupdated = 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user