From ff935463bc6847a4f286d70c7054d21b5f0a457f Mon Sep 17 00:00:00 2001 From: Patrick Plenefisch Date: Sat, 7 Dec 2024 21:13:56 -0500 Subject: [PATCH 3/6] lvm: Match all lvm segments before validation pv matching must be completely finished before validating a volume, otherwise referenced raid stripes may not have pv data applied yet This change is required for integrity & cachevol support Signed-off-by: Patrick Plenefisch --- grub-core/disk/diskfilter.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c index 606195c26..801b24985 100644 --- a/grub-core/disk/diskfilter.c +++ b/grub-core/disk/diskfilter.c @@ -979,8 +979,6 @@ grub_diskfilter_vg_register (struct grub_diskfilter_vg *vg) for (lv = vg->lvs; lv; lv = lv->next) { - grub_err_t err; - /* RAID 1 and single-disk RAID 0 don't use a chunksize but code assumes one so set one. */ for (i = 0; i < lv->segment_count; i++) @@ -992,6 +990,10 @@ grub_diskfilter_vg_register (struct grub_diskfilter_vg *vg) && lv->segments[i].stripe_size == 0) lv->segments[i].stripe_size = 64; } + } + for (lv = vg->lvs; lv; lv = lv->next) + { + grub_err_t err; err = validate_lv(lv); if (err) -- 2.39.5