From 06e229590c6e94c1dd8606a374714f7cfc50241a Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 7 Mar 2024 13:34:33 +0000 Subject: [efi] Do not report return status from efi_block_local() The return status from efi_block_local() indicates whether or not the handle is eligible to be assigned a local virtual drive number. There will always be several enumerated EFI_BLOCK_IO_PROTOCOL handles that are not eligible for a local virtual drive number (e.g. the handles corresponding to partitions, rather than to complete disks), and this is not an interesting error to report. Do not report errors from efi_block_local() as the overall error status for a SAN boot, since doing so would be likely to mask a much more relevant error from having previously attempted to scan for a matching filesystem within an eligible block device handle. Signed-off-by: Michael Brown --- src/interface/efi/efi_block.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/interface/efi/efi_block.c b/src/interface/efi/efi_block.c index 28a7f723..2f0187a0 100644 --- a/src/interface/efi/efi_block.c +++ b/src/interface/efi/efi_block.c @@ -1042,8 +1042,12 @@ static int efi_block_boot ( unsigned int drive, /* Check if this handle is eligible to be * given a local virtual drive number. + * + * Do not record this as the overall error + * status, since it is not an interesting + * error. */ - if ( ( rc = efi_block_local ( handle ) ) != 0 ) { + if ( efi_block_local ( handle ) != 0 ) { /* Do not consume virtual drive number */ vdrive--; continue; -- cgit v1.2.3-55-g7522