Yes. I have checked the image with OVMF. The SUSE image has the MBR table but 
not like others, such as Ubuntu, RedHat and Fedora which would contain a 
partition entry with the entire disk.

That means it would pass the MBR child handle check and would never go to the 
UDF(or ElTorito) check.

I think we should update the invalid MBR check logic.

Thanks,
Zhichao

> -----Original Message-----
> From: Gary Lin <g...@suse.com>
> Sent: Thursday, July 16, 2020 11:33 AM
> To: devel@edk2.groups.io; Gao, Zhichao <zhichao....@intel.com>
> Cc: Wu, Hao A <hao.a...@intel.com>; Ni, Ray <ray...@intel.com>
> Subject: Re: [edk2-devel] [PATCH V3 3/3] MdeModulePkg/PartitionDxe: Add
> already start check for child hanldes
> 
> On Tue, Jul 14, 2020 at 09:22:59AM +0800, Gao, Zhichao via groups.io wrote:
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2823
> >
> > Treat the EFI_ALREADY_STARTED as EFI_SUCCESS to avoid the partition
> > driver continuely check next routine function.
> Hi Zhichao,
> 
> I just found that this patch breaks the loading of openSUSE iso images[*].
> Would you mind to take a look at it?
> 
> Thanks,
> 
> Gary Lin
> 
> [*] http://download.opensuse.org/distribution/leap/15.2/iso/openSUSE-Leap-
> 15.2-NET-x86_64.iso
> 
> >
> > Cc: Hao A Wu <hao.a...@intel.com>
> > Cc: Ray Ni <ray...@intel.com>
> > Signed-off-by: Zhichao Gao <zhichao....@intel.com>
> > Reviewed-by: Hao A Wu <hao.a...@intel.com>
> > ---
> >  MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
> > b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
> > index d1c878ad2e..6a43c3cafb 100644
> > --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
> > +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
> > @@ -1276,6 +1276,15 @@ PartitionInstallChildHandle (
> >    } else {
> >      FreePool (Private->DevicePath);
> >      FreePool (Private);
> > +
> > +    //
> > +    // if the Status == EFI_ALREADY_STARTED, it means the child handles
> > +    // are already installed. So return EFI_SUCCESS to avoid do the next
> > +    // partition type check.
> > +    //
> > +    if (Status == EFI_ALREADY_STARTED) {
> > +      Status = EFI_SUCCESS;
> > +    }
> >    }
> >
> >    return Status;
> > --
> > 2.21.0.windows.1
> >
> >
> > 
> >


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#62650): https://edk2.groups.io/g/devel/message/62650
Mute This Topic: https://groups.io/mt/75490642/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to