svn commit: r337231 - head/stand/efi/loader
Toomas Soome
tsoome at me.com
Fri Aug 3 08:47:12 UTC 2018
> On 3 Aug 2018, at 11:32, Warner Losh <imp at bsdimp.com> wrote:
>
> Any reason why efipart_inithandles() should even return an error in this case? Seems to cause us nothing but trouble so we have to filter some, but not all errors which strikes me as a bad design. We should only return errors for real errors, like not having enough memory for the arrays we need.
>
> Warner
The current code does return the efi error translated to errno and does leave the filtering/notification for caller. I guess it is good idea to filter cases like no devices in-place, however, the fun is with out of memory — at that stage (we even haven't started to probe for disks, so we do not have even interpreter) it basically means loader.efi failure.
rgds,
toomas
>
> On Fri, Aug 3, 2018 at 1:59 AM, Toomas Soome <tsoome at freebsd.org <mailto:tsoome at freebsd.org>> wrote:
> Author: tsoome
> Date: Fri Aug 3 07:59:29 2018
> New Revision: 337231
> URL: https://svnweb.freebsd.org/changeset/base/337231 <https://svnweb.freebsd.org/changeset/base/337231>
>
> Log:
> loader.efi: clean up misleading noise from missing block devices
>
> If there are no block devices, there is no need to printout
> error (ENOENT).
>
> In case of netboot, our image path has no block device, no need to make
> noise about it.
>
> Modified:
> head/stand/efi/loader/main.c
>
> Modified: head/stand/efi/loader/main.c
> ==============================================================================
> --- head/stand/efi/loader/main.c Fri Aug 3 02:51:37 2018 (r337230)
> +++ head/stand/efi/loader/main.c Fri Aug 3 07:59:29 2018 (r337231)
> @@ -545,8 +545,6 @@ find_currdev(EFI_LOADED_IMAGE *img, bool do_bootmgr, b
> return (0);
> }
> }
> - } else {
> - printf("Can't find device by handle\n");
> }
>
> /*
> @@ -862,9 +860,9 @@ main(int argc, CHAR16 *argv[])
> * march through the device switch probing for things.
> */
> i = efipart_inithandles();
> - if (i != 0) {
> + if (i != 0 && i != ENOENT) {
> printf("efipart_inithandles failed with ERRNO %d, expect "
> - "failures", i);
> + "failures\n", i);
> }
>
> for (i = 0; devsw[i] != NULL; i++)
>
>
More information about the svn-src-head
mailing list