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
     {

Reply via email to