Probe FusionIO devices

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1237519
Forwarded: no
Last-Update: 2016-09-18

Patch-Name: probe-fusionio.patch
This commit is contained in:
Colin Watson 2014-01-13 12:13:31 +00:00 committed by Colin Watson
parent c4747ac751
commit a9b9f543af
2 changed files with 32 additions and 0 deletions

View File

@ -950,6 +950,19 @@ grub_util_part_to_disk (const char *os_dev, struct stat *st,
*pp = '\0';
return path;
}
/* If this is a FusionIO disk. */
if ((strncmp ("fio", p, 3) == 0) && p[3] >= 'a' && p[3] <= 'z')
{
char *pp = p + 3;
while (*pp >= 'a' && *pp <= 'z')
pp++;
if (*pp)
*is_part = 1;
/* /dev/fio[a-z]+[0-9]* */
*pp = '\0';
return path;
}
}
return path;

View File

@ -383,6 +383,12 @@ get_nvme_disk_name (char *name, int controller, int namespace)
{
sprintf (name, "/dev/nvme%dn%d", controller, namespace);
}
static void
get_fio_disk_name (char *name, int unit)
{
sprintf (name, "/dev/fio%c", unit + 'a');
}
#endif
static struct seen_device
@ -923,6 +929,19 @@ grub_util_iterate_devices (int (*hook) (const char *, int, void *), void *hook_d
}
}
/* FusionIO. */
for (i = 0; i < 26; i++)
{
char name[16];
get_fio_disk_name (name, i);
if (check_device_readable_unique (name))
{
if (hook (name, 0, hook_data))
goto out;
}
}
# ifdef HAVE_DEVICE_MAPPER
# define dmraid_check(cond, ...) \
if (! (cond)) \