tags 474343 - moreinfo tags 474343 patch thanks On Tue, Apr 08, 2008 at 08:00:49AM +0900, Junichi Uekawa wrote: > Breakpoint 1, grub_lvm_scan_device (name=0x6350c0 "hd0,4") at > /tmp/grub-common/grub2-1.96+20080228/disk/lvm.c:376 > 376 p += 18; > (gdb) print p > $1 = 0x0 > (gdb)
Ok I think this would do it. Please, can you try? -- Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What use is a phone call… if you are unable to speak? (as seen on /.)
diff -x configure -x config.h.in -x CVS -x '*~' -x '*.mk' -urp ../grub2/disk/lvm.c ./disk/lvm.c --- ../grub2/disk/lvm.c 2008-02-09 11:49:29.000000000 +0100 +++ ./disk/lvm.c 2008-04-10 09:12:51.000000000 +0200 @@ -44,6 +44,7 @@ grub_lvm_iterate (int (*hook) (const cha for (vg = vg_list; vg; vg = vg->next) { struct grub_lvm_lv *lv; +if (vg->lvs) for (lv = vg->lvs; lv; lv = lv->next) if (hook (lv->name)) return 1; @@ -79,6 +80,7 @@ grub_lvm_open (const char *name, grub_di struct grub_lvm_lv *lv = NULL; for (vg = vg_list; vg; vg = vg->next) { +if (vg->lvs) for (lv = vg->lvs; lv; lv = lv->next) if (! grub_strcmp (lv->name, name)) break; @@ -373,6 +375,8 @@ grub_lvm_scan_device (const char *name) } p = grub_strstr (p, "logical_volumes"); +if (p) +{ p += 18; /* And add all the lvs to the volume group. */ @@ -466,6 +470,7 @@ grub_lvm_scan_device (const char *name) p = grub_strchr (p, '}') + 3; } +} } else {