mirror of
https://git.proxmox.com/git/grub2
synced 2025-10-25 19:39:23 +00:00
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:
parent
c4747ac751
commit
a9b9f543af
@ -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;
|
||||
|
||||
@ -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)) \
|
||||
|
||||
Loading…
Reference in New Issue
Block a user