my $SGDISK = "/sbin/sgdisk";
my $PVS = "/sbin/pvs";
my $LVS = "/sbin/lvs";
-my $UDEVADM = "/bin/udevadm";
my $LSBLK = "/bin/lsblk";
sub verify_blockdev_path {
} elsif (defined($type) && $type eq 'text') {
$smartdata->{text} = '' if !defined $smartdata->{text};
$smartdata->{text} .= "$line\n";
- # extract wearout from nvme text, allow for decimal values
- if ($line =~ m/Percentage Used:\s*(\d+(?:\.\d+)?)\%/i) {
+ # extract wearout from nvme/sas text, allow for decimal values
+ if ($line =~ m/Percentage Used(?: endurance indicator)?:\s*(\d+(?:\.\d+)?)\%/i) {
$smartdata->{wearout} = 100 - $1;
}
} elsif ($line =~ m/SMART Disabled/) {
my $info = "";
my $data = {};
eval {
- run_command([$UDEVADM, 'info', '-p', $dev, '--query', 'all'], outfunc => sub {
+ run_command(['udevadm', 'info', '-p', $dev, '--query', 'all'], outfunc => sub {
my ($line) = @_;
$info .= "$line\n";
});
die "disks is not a string or array reference\n";
}
# we get cciss/c0d0 but need cciss!c0d0
- map { s|cciss/|cciss!| } @$disks;
+ $_ =~ s|cciss/|cciss!| for @$disks;
$disk_regex = "(?:" . join('|', @$disks) . ")";
}