* grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning

of diskfilter for diskfilter on diskfilter support.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2012-03-10 13:07:39 +01:00
parent 6d790129fa
commit 1f49313672
2 changed files with 20 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
of diskfilter for diskfilter on diskfilter support.
2012-03-10 Vladimir Serbinenko <phcoder@gmail.com> 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
* util/getroot.c (exec_pipe): Ensure that the child is not localised. * util/getroot.c (exec_pipe): Ensure that the child is not localised.

View file

@ -260,6 +260,8 @@ grub_diskfilter_memberlist (grub_disk_t disk)
struct grub_diskfilter_pv *pv; struct grub_diskfilter_pv *pv;
grub_disk_pull_t pull; grub_disk_pull_t pull;
grub_disk_dev_t p; grub_disk_dev_t p;
struct grub_diskfilter_vg *vg;
struct grub_diskfilter_lv *lv2 = NULL;
if (!lv->vg->pvs) if (!lv->vg->pvs)
return NULL; return NULL;
@ -278,6 +280,19 @@ grub_diskfilter_memberlist (grub_disk_t disk)
pv = pv->next; pv = pv->next;
} }
for (vg = array_list; pv && vg; vg = vg->next)
{
if (vg->lvs)
for (lv2 = vg->lvs; pv && lv2; lv2 = lv2->next)
if (!lv2->scanned && lv2->fullname && lv2->became_readable_at)
{
scan_disk (lv2->fullname);
lv2->scanned = 1;
while (pv && pv->disk)
pv = pv->next;
}
}
for (pv = lv->vg->pvs; pv; pv = pv->next) for (pv = lv->vg->pvs; pv; pv = pv->next)
{ {
if (!pv->disk) if (!pv->disk)