* disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,

removing the homehost if present.
* kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
(grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
removing the homehost if present.
(grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
if possible.
* util/i386/pc/grub-setup.c (main): Handle md/* devices.
This commit is contained in:
Colin Watson 2010-07-18 15:53:14 +01:00
parent 41f435b1b4
commit 139ab97dc3
4 changed files with 120 additions and 5 deletions

View file

@ -563,7 +563,14 @@ insert_array (grub_disk_t disk, struct grub_raid_array *new_array,
if (! array->name)
array->name = grub_xasprintf ("md%d", array->number);
else
array->name = grub_xasprintf ("%s", array->name);
{
/* Strip off the homehost if present. */
char *colon = grub_strchr (array->name, ':');
char *new_name = grub_xasprintf ("md/%s",
colon ? colon + 1 : array->name);
grub_free (array->name);
array->name = new_name;
}
grub_dprintf ("raid", "Found array %s (%s)\n", array->name,
scanner_name);