On Fri, 08 Feb 2008 20:38:56 +0100, Robert Millan wrote: > On Fri, Feb 08, 2008 at 07:20:31PM +0000, Sam Morris wrote: >> On Fri, 2008-02-08 at 15:52 +0100, Robert Millan wrote: >> > New patch to fix partmap detection in LVM/RAID. Changes in >> > comparison to previous patch: >> >> (gdb) run -t partmap /boot/grub/ >> Starting program: /home/sam/grub/grub2/grub-probe -t partmap >> /boot/grub/ >> >> Program received signal SIGSEGV, Segmentation fault. 0x0806035a >> in grub_raid_scan_device (name=0x806b080 "hd3,2") at >> disk/raid.c:442 442 if >> (array->device[sb.this_disk.number]->name != 0) > > I didn't touch this function. I assume this was introduced with my > previous commit that redefined this structure. > > .name used to be initialized altogether with .disk, so checking for > .name initialization amounts to checking for .disk initialization, which > is what we still have (but with a different name)). > > So: > > diff -x configure -x config.h.in -x CVS -x '*~' -x '*.mk' -urp -N > ../grub2/disk/raid.c ./disk/raid.c --- ../grub2/disk/raid.c > 2008-02-08 13:35:05.000000000 +0100 +++ ./disk/raid.c 2008-02-08 > 20:36:47.000000000 +0100 @@ -419,7 +419,7 @@ grub_raid_scan_device > (const char *name) > return 0; > } > > - if (array->device[sb.this_disk.number]->name != 0) + if > (array->device[sb.this_disk.number] != NULL) > { > /* We found multiple devices with the same number. Again, > this shouldn't happen.*/ > > does this work?
Looks like it! $ sudo ./grub-probe -t partmap /boot/grub/ pc pc -- Sam Morris http://robots.org.uk/ PGP key id 1024D/5EA01078 3412 EA18 1277 354B 991B C869 B219 7FDB 5EA0 1078 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel