diff --git a/ChangeLog b/ChangeLog index fa6c165d7..7a8391789 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-06-07 Vladimir Serbinenko + + * grub-core/disk/diskfilter.c (insert_array): Fix order to discover + ambigouos RAID before discovering RAIDs on top of it. + Reported by: bodom. + 2013-06-07 Vladimir Serbinenko Fix typo (failback vs fallback). diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c index c4eb97eb7..c8d267a6b 100644 --- a/grub-core/disk/diskfilter.c +++ b/grub-core/disk/diskfilter.c @@ -1045,10 +1045,14 @@ insert_array (grub_disk_t disk, const struct grub_diskfilter_pv_id *id, { struct grub_diskfilter_pv *pv; - grub_dprintf ("diskfilter", "Inserting %s into %s (%s)\n", disk->name, + grub_dprintf ("diskfilter", "Inserting %s (+%lld,%lld) into %s (%s)\n", disk->name, + (unsigned long long) grub_partition_get_start (disk->partition), + (unsigned long long) grub_disk_get_size (disk), array->name, diskfilter->name); #ifdef GRUB_UTIL - grub_util_info ("Inserting %s into %s (%s)\n", disk->name, + grub_util_info ("Inserting %s (+%lld,%lld) into %s (%s)\n", disk->name, + (unsigned long long) grub_partition_get_start (disk->partition), + (unsigned long long) grub_disk_get_size (disk), array->name, diskfilter->name); array->driver = diskfilter; #endif @@ -1092,14 +1096,7 @@ insert_array (grub_disk_t disk, const struct grub_diskfilter_pv_id *id, /* Add the device to the array. */ for (lv = array->lvs; lv; lv = lv->next) if (!lv->became_readable_at && lv->fullname && is_lv_readable (lv, 0)) - { - lv->became_readable_at = ++inscnt; - if (is_lv_readable (lv, 1)) - { - scan_disk (lv->fullname, 1); - lv->scanned = 1; - } - } + lv->became_readable_at = ++inscnt; break; }