From 88b87c9313b452ec104ad46e7f304ec7d247536d Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Sun, 5 Sep 2010 23:24:57 +0200 Subject: [PATCH] * grub-core/kern/emu/main.c (main): Reinit LVM and RAID. * util/grub-probe.c (main): Likewise. * util/i386/pc/grub-setup.c (main): Likewise. * util/sparc64/ieee1275/grub-setup.c (main): Likewise. Reported and debugged by: alexxy --- ChangeLog | 8 ++++++++ grub-core/kern/emu/main.c | 7 +++++++ util/grub-probe.c | 7 +++++++ util/i386/pc/grub-setup.c | 7 +++++++ util/sparc64/ieee1275/grub-setup.c | 7 +++++++ 5 files changed, 36 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0f4c54c14..03114c54e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-09-05 Vladimir Serbinenko + + * grub-core/kern/emu/main.c (main): Reinit LVM and RAID. + * util/grub-probe.c (main): Likewise. + * util/i386/pc/grub-setup.c (main): Likewise. + * util/sparc64/ieee1275/grub-setup.c (main): Likewise. + Reported and debugged by: alexxy + 2010-09-05 Vladimir Serbinenko * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more diff --git a/grub-core/kern/emu/main.c b/grub-core/kern/emu/main.c index 9156aa890..8867f6101 100644 --- a/grub-core/kern/emu/main.c +++ b/grub-core/kern/emu/main.c @@ -197,6 +197,13 @@ main (int argc, char *argv[]) grub_init_all (); + grub_lvm_fini (); + grub_mdraid_fini (); + grub_raid_fini (); + grub_raid_init (); + grub_mdraid_init (); + grub_lvm_init (); + /* Make sure that there is a root device. */ if (! root_dev) { diff --git a/util/grub-probe.c b/util/grub-probe.c index 62206bf0e..f02d98589 100644 --- a/util/grub-probe.c +++ b/util/grub-probe.c @@ -422,6 +422,13 @@ main (int argc, char *argv[]) /* Initialize all modules. */ grub_init_all (); + grub_lvm_fini (); + grub_mdraid_fini (); + grub_raid_fini (); + grub_raid_init (); + grub_mdraid_init (); + grub_lvm_init (); + /* Do it. */ if (argument_is_device) probe (NULL, argument); diff --git a/util/i386/pc/grub-setup.c b/util/i386/pc/grub-setup.c index 642d9d104..ff5aeda40 100644 --- a/util/i386/pc/grub-setup.c +++ b/util/i386/pc/grub-setup.c @@ -751,6 +751,13 @@ main (int argc, char *argv[]) /* Initialize all modules. */ grub_init_all (); + grub_lvm_fini (); + grub_mdraid_fini (); + grub_raid_fini (); + grub_raid_init (); + grub_mdraid_init (); + grub_lvm_init (); + dest_dev = get_device_name (argv[optind]); if (! dest_dev) { diff --git a/util/sparc64/ieee1275/grub-setup.c b/util/sparc64/ieee1275/grub-setup.c index d8481295f..1b1a80911 100644 --- a/util/sparc64/ieee1275/grub-setup.c +++ b/util/sparc64/ieee1275/grub-setup.c @@ -614,6 +614,13 @@ main (int argc, char *argv[]) /* Initialize all modules. */ grub_init_all (); + grub_lvm_fini (); + grub_mdraid_fini (); + grub_raid_fini (); + grub_raid_init (); + grub_mdraid_init (); + grub_lvm_init (); + find_dest_dev (&ginfo, argv); ginfo.prefix = grub_make_system_path_relative_to_its_root (ginfo.dir ?