[pve-devel] [PATCH storage 1/2] disks: get: separate error path for retrieving SMART data

Daniel Kral d.kral at proxmox.com
Fri Apr 11 17:08:30 CEST 2025


Make the subroutine get_smart_data() die with the error message from
running the `smartctl` command before. This is in preparation for the
next patch, which makes that command fail in certain scenarios.

Signed-off-by: Daniel Kral <d.kral at proxmox.com>
---
 src/PVE/Diskmanage.pm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/PVE/Diskmanage.pm b/src/PVE/Diskmanage.pm
index 4272668..059d645 100644
--- a/src/PVE/Diskmanage.pm
+++ b/src/PVE/Diskmanage.pm
@@ -150,8 +150,10 @@ sub get_smart_data {
     };
     my $err = $@;
 
+    die "Error getting S.M.A.R.T. data: $err\n" if $err;
+
     # bit 0 and 1 mark a fatal error, other bits are for disk status -> ignore (see man 8 smartctl)
-    if ((defined($returncode) && ($returncode & 0b00000011)) || $err) {
+    if ((defined($returncode) && ($returncode & 0b00000011))) {
 	die "Error getting S.M.A.R.T. data: Exit code: $returncode\n";
     }
 
-- 
2.39.5





More information about the pve-devel mailing list