Thank you for bringing this up

Regards
Vladimir 'phcoder' Serbinenko

Le lun. 14 avr. 2025, 12:25, Marta Lewandowska via Grub-devel <
grub-devel@gnu.org> a écrit :

> Hi Daniel, Vladimir,
> Could one of you please provide some feedback for Renaud's patch..?
>
> thanks!
> marta
>
> On Fri, Jun 21, 2024 at 10:21 AM Renaud Métrich <rmetr...@redhat.com>
> wrote:
>
>> DDF and IMSM are very similar in handling, especially these should not
>> be considered as RAID abstraction.
>> This fixes the requirement of having a device map when probing DDF
>> containers.
>>
>> Fixes https://issues.redhat.com/browse/RHEL-44336
>>
>> Signed-off-by: Renaud Métrich <rmetr...@redhat.com>
>> ---
>>  grub-core/osdep/linux/getroot.c | 19 +++++++++++++------
>>  1 file changed, 13 insertions(+), 6 deletions(-)
>>
>> diff --git a/grub-core/osdep/linux/getroot.c
>> b/grub-core/osdep/linux/getroot.c
>> index 7dd775d2a..0c6c12945 100644
>> --- a/grub-core/osdep/linux/getroot.c
>> +++ b/grub-core/osdep/linux/getroot.c
>> @@ -119,7 +119,7 @@ struct btrfs_ioctl_search_args {
>>                                 struct btrfs_ioctl_fs_info_args)
>>
>>  static int
>> -grub_util_is_imsm (const char *os_dev);
>> +grub_util_is_imsm_or_ddf (const char *os_dev);
>>
>>
>>  #define ESCAPED_PATH_MAX (4 * PATH_MAX)
>> @@ -635,10 +635,10 @@ out:
>>  }
>>
>>  static int
>> -grub_util_is_imsm (const char *os_dev)
>> +grub_util_is_imsm_or_ddf (const char *os_dev)
>>  {
>>    int retry;
>> -  int is_imsm = 0;
>> +  int is_imsm_or_ddf = 0;
>>    int container_seen = 0;
>>    const char *dev = os_dev;
>>
>> @@ -699,10 +699,17 @@ grub_util_is_imsm (const char *os_dev)
>>           if (strncmp (buf, "MD_METADATA=imsm",
>>                        sizeof ("MD_METADATA=imsm") - 1) == 0)
>>             {
>> -             is_imsm = 1;
>> +             is_imsm_or_ddf = 1;
>>               grub_util_info ("%s is imsm", dev);
>>               break;
>>             }
>> +         if (strncmp (buf, "MD_METADATA=ddf",
>> +                      sizeof ("MD_METADATA=ddf") - 1) == 0)
>> +           {
>> +             is_imsm_or_ddf = 1;
>> +             grub_util_info ("%s is ddf", dev);
>> +             break;
>> +           }
>>         }
>>
>>        free (buf);
>> @@ -713,7 +720,7 @@ grub_util_is_imsm (const char *os_dev)
>>
>>    if (dev != os_dev)
>>      free ((void *) dev);
>> -  return is_imsm;
>> +  return is_imsm_or_ddf;
>>  }
>>
>>  char *
>> @@ -1078,7 +1085,7 @@ grub_util_get_dev_abstraction_os (const char
>> *os_dev)
>>
>>    /* Check for RAID.  */
>>    if (!strncmp (os_dev, "/dev/md", 7) && ! grub_util_device_is_mapped
>> (os_dev)
>> -      && !grub_util_is_imsm (os_dev))
>> +      && !grub_util_is_imsm_or_ddf (os_dev))
>>      return GRUB_DEV_ABSTRACTION_RAID;
>>    return GRUB_DEV_ABSTRACTION_NONE;
>>  }
>> --
>> 2.45.2
>>
>>
>> _______________________________________________
>> Grub-devel mailing list
>> Grub-devel@gnu.org
>> https://lists.gnu.org/mailman/listinfo/grub-devel
>>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to