disks: get: separate error path for retrieving SMART data

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@proxmox.com>
Link: https://lore.proxmox.com/20250415071123.36921-2-d.kral@proxmox.com
This commit is contained in:
Daniel Kral
2025-04-15 09:11:22 +02:00
committed by Thomas Lamprecht
parent 0d2df3048a
commit b6c18e9116

View File

@ -160,10 +160,10 @@ sub get_smart_data {
}, },
); );
}; };
my $err = $@; die "Error getting S.M.A.R.T. data: $@\n" if $@;
# bit 0 and 1 mark a fatal error, other bits are for disk status -> ignore (see man 8 smartctl) # 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"; die "Error getting S.M.A.R.T. data: Exit code: $returncode\n";
} }