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
{