summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2024-03-07 14:34:33 +0100
committerMichael Brown2024-03-07 15:11:46 +0100
commit06e229590c6e94c1dd8606a374714f7cfc50241a (patch)
treeb57871f51c2b858c39ada8936830aeb1db2a68d7
parent[block] Allow SAN boot device to be identified by filesystem label (diff)
downloadipxe-06e229590c6e94c1dd8606a374714f7cfc50241a.tar.gz
ipxe-06e229590c6e94c1dd8606a374714f7cfc50241a.tar.xz
ipxe-06e229590c6e94c1dd8606a374714f7cfc50241a.zip
[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 <mcb30@ipxe.org>
-rw-r--r--src/interface/efi/efi_block.c6
1 files changed, 5 insertions, 1 deletions
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;