diff --git a/0001-disk-Optimize-disk-iteration-by-moving-memdisk-to-th.patch b/0001-disk-Optimize-disk-iteration-by-moving-memdisk-to-th.patch new file mode 100644 index 0000000..3934646 --- /dev/null +++ b/0001-disk-Optimize-disk-iteration-by-moving-memdisk-to-th.patch @@ -0,0 +1,37 @@ +From 5846e14a4dbf0c73969a32625d841e4f842ccdea Mon Sep 17 00:00:00 2001 +From: Michael Chang +Date: Wed, 31 Jan 2024 18:44:27 +0800 +Subject: [PATCH] disk: Optimize disk iteration by moving memdisk to the end + +When performing file or UUID-based searches, prioritize returning +operating system disk devices over the memdisk. The memdisk, typically +used for internal grub data, is moved to the last position in the search +order. This improves search efficiency and prevents potential unexpected +results. + +Signed-off-by: Michael Chang +--- + include/grub/disk.h | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/include/grub/disk.h b/include/grub/disk.h +index bf0958885..f4fd7a00f 100644 +--- a/include/grub/disk.h ++++ b/include/grub/disk.h +@@ -244,7 +244,12 @@ grub_disk_dev_iterate (grub_disk_dev_iterate_hook_t hook, void *hook_data) + + for (pull = 0; pull < GRUB_DISK_PULL_MAX; pull++) + for (p = grub_disk_dev_list; p; p = p->next) +- if (p->disk_iterate && (p->disk_iterate) (hook, hook_data, pull)) ++ if (p->id != GRUB_DISK_DEVICE_MEMDISK_ID && p->disk_iterate && (p->disk_iterate) (hook, hook_data, pull)) ++ return 1; ++ ++ for (pull = 0; pull < GRUB_DISK_PULL_MAX; pull++) ++ for (p = grub_disk_dev_list; p; p = p->next) ++ if (p->id == GRUB_DISK_DEVICE_MEMDISK_ID && p->disk_iterate && (p->disk_iterate) (hook, hook_data, pull)) + return 1; + + return 0; +-- +2.43.0 + diff --git a/grub2-xen-pv-firmware.cfg b/grub2-xen-pv-firmware.cfg index e8e02f7..3041dad 100644 --- a/grub2-xen-pv-firmware.cfg +++ b/grub2-xen-pv-firmware.cfg @@ -55,7 +55,9 @@ fi set hdcfg_list="\ /boot/grub2/grub.cfg \ -/grub2/grub.cfg\ +/grub2/grub.cfg \ +/boot/grub/grub.cfg \ +/grub/grub.cfg\ " set hdlst_list="\ diff --git a/grub2.changes b/grub2.changes index 3b61f7e..b7de858 100644 --- a/grub2.changes +++ b/grub2.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Feb 22 04:19:21 UTC 2024 - Michael Chang + +- Fix grub.xen memdisk script doesn't look for /boot/grub/grub.cfg + (bsc#1219248) (bsc#1181762) + * grub2-xen-pv-firmware.cfg + * 0001-disk-Optimize-disk-iteration-by-moving-memdisk-to-th.patch + ------------------------------------------------------------------- Sat Feb 17 06:59:55 UTC 2024 - Michael Chang diff --git a/grub2.spec b/grub2.spec index ecb237c..8dfb97e 100644 --- a/grub2.spec +++ b/grub2.spec @@ -392,6 +392,7 @@ Patch198: 0001-loader-arm64-efi-linux-Remove-magic-number-header-fi.patch Patch199: 0001-squash-ieee1275-ofpath-enable-NVMeoF-logical-device-.patch Patch200: 0001-ofdisk-enhance-boot-time-by-focusing-on-boot-disk-re.patch Patch201: 0002-ofdisk-add-early_log-support.patch +Patch202: 0001-disk-Optimize-disk-iteration-by-moving-memdisk-to-th.patch Requires: gettext-runtime %if 0%{?suse_version} >= 1140