From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id B9A2F9D74F for ; Fri, 24 Nov 2023 10:05:09 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 997B9AAC4 for ; Fri, 24 Nov 2023 10:04:39 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Fri, 24 Nov 2023 10:04:38 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 5D1FA43A8B for ; Fri, 24 Nov 2023 10:04:38 +0100 (CET) Message-ID: <1c183e8d-ea2a-45b5-8929-cec5a02a6e89@proxmox.com> Date: Fri, 24 Nov 2023 10:04:37 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Thomas Lamprecht , Proxmox Backup Server development discussion References: <20231123130935.207013-1-g.goller@proxmox.com> <20231123130935.207013-2-g.goller@proxmox.com> Content-Language: en-US From: Gabriel Goller In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.236 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pbs-devel] [PATCH proxmox-backup 1/2] node: status: added bootmode X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2023 09:05:09 -0000 Thanks for the review! On 11/23/23 17:32, Thomas Lamprecht wrote: > Am 23/11/2023 um 14:09 schrieb Gabriel Goller: >> @@ -79,6 +83,27 @@ async fn get_status( >> >> let disk = crate::tools::fs::fs_info_static(proxmox_lang::c_str!("/")).await?; >> >> + let boot_info: BootModeInformation; >> + if Path::new("/sys/firmware/efi").exists() { >> + // Check if SecureBoot is enabled >> + // Attention: this file is not seekable! >> + let efivar = >> + File::open("/sys/firmware/efi/efivars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c"); >> + if let Ok(mut file) = efivar { >> + let mut buf = [0; 5]; >> + file.read_exact(&mut buf)?; >> + if buf[4..] == [1] { >> + boot_info = BootModeInformation::EfiSecureBoot; >> + } else { >> + boot_info = BootModeInformation::Efi; >> + } >> + } else { >> + boot_info = BootModeInformation::Efi; >> + } >> + } else { >> + boot_info = BootModeInformation::Bios; >> + } > please move above into it's own helper method, it could even live in > some more common module (but we can still move it later, so no hard > feelings on that). How about we move it to proxmox-sys? > And I'd also like if this caches the boot mode, e.g. in a LazyStatic, > similar to how Proxmox VE does it, as I know that lots of firmware is > rather a mess, so constantly reading EFI vars might make trigger some > bugs (or just hang suddenly). Yep, I would also put the LazyStatic in `proxmox-sys`. >> + >> Ok(NodeStatus { >> memory, >> swap, >> @@ -96,6 +121,7 @@ async fn get_status(