Make cryptodisk and diskfilter probe data retrievable programmatically
and not just printable.
This commit is contained in:
parent
24ca45125e
commit
bf25f87931
7 changed files with 40 additions and 19 deletions
|
@ -76,6 +76,12 @@ enum {
|
|||
static int print = PRINT_FS;
|
||||
static unsigned int argument_is_device = 0;
|
||||
|
||||
static void
|
||||
do_print (const char *x)
|
||||
{
|
||||
grub_printf ("%s ", x);
|
||||
}
|
||||
|
||||
static void
|
||||
probe_partmap (grub_disk_t disk)
|
||||
{
|
||||
|
@ -91,7 +97,7 @@ probe_partmap (grub_disk_t disk)
|
|||
printf ("%s ", part->partmap->name);
|
||||
|
||||
if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID)
|
||||
grub_diskfilter_print_partmap (disk);
|
||||
grub_diskfilter_get_partmap (disk, do_print);
|
||||
|
||||
/* In case of LVM/RAID, check the member devices as well. */
|
||||
if (disk->dev->memberlist)
|
||||
|
@ -125,7 +131,10 @@ probe_cryptodisk_uuid (grub_disk_t disk)
|
|||
list = tmp;
|
||||
}
|
||||
if (disk->dev->id == GRUB_DISK_DEVICE_CRYPTODISK_ID)
|
||||
grub_util_cryptodisk_print_uuid (disk);
|
||||
{
|
||||
const char *uu = grub_util_cryptodisk_get_uuid (disk);
|
||||
grub_printf ("%s ", uu);
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -303,7 +312,7 @@ probe_abstraction (grub_disk_t disk)
|
|||
printf ("ldm ");
|
||||
|
||||
if (disk->dev->id == GRUB_DISK_DEVICE_CRYPTODISK_ID)
|
||||
grub_util_cryptodisk_print_abstraction (disk);
|
||||
grub_util_cryptodisk_get_abstraction (disk, do_print);
|
||||
|
||||
raid_level = probe_raid_level (disk);
|
||||
if (raid_level >= 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue