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] -=-=-=-=-=-=-=-=-=-=-=-