* [pve-devel] [PATCH storage 2/2] smartctl: use json parsing
2021-04-01 13:40 [pve-devel] [PATCH storage 1/2] smartctl: remove to-be-replaced disk_tests Oguz Bektas
@ 2021-04-01 13:40 ` Oguz Bektas
2021-04-01 14:24 ` [pve-devel] [PATCH v2 " Oguz Bektas
2021-05-10 12:15 ` [pve-devel] [PATCH storage 1/2] smartctl: remove to-be-replaced disk_tests Dominik Csapak
2 siblings, 0 replies; 7+ messages in thread
From: Oguz Bektas @ 2021-04-01 13:40 UTC (permalink / raw)
To: pve-devel
adapt the smartctl endpoint to run smartctl with the --json or -j flag
to parse it more reasonably.
also add the $format parameter to assist in switching to the new json
parsed output for nvme devices in PVE 7.0 (until 7.0 removing the 'text'
field completely would be a breaking change, so we still default to the
text field but with the parsed "key : value" pairs instead of raw
smartctl output)
for the unit tests from now we need to collect the smartctl outputs with
the json flag. the current tests cover ssd_smart and nvme_smart cases.
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
----
RFC -> PATCH:
* split patch for removing old tests
* incorporate stefan's and thomas' recommendations & nits (thanks!!)
* fix issue with array fields not being parsed
* add array element in nvme unit test (temperature_sensor)
PVE/API2/Disks.pm | 9 +-
PVE/Diskmanage.pm | 120 +++---
test/disk_tests/nvme_smart/disklist | 1 +
.../nvme_smart/disklist_expected.json | 16 +
test/disk_tests/nvme_smart/nvme0/model | 1 +
test/disk_tests/nvme_smart/nvme0_smart | 65 ++++
test/disk_tests/nvme_smart/nvme0n1/device | 1 +
.../nvme_smart/nvme0n1/queue/rotational | 1 +
test/disk_tests/nvme_smart/nvme0n1/size | 1 +
.../nvme_smart/nvme0n1_smart_expected.json | 6 +
test/disk_tests/nvme_smart/nvme0n1_udevadm | 18 +
test/disk_tests/ssd_smart/disklist | 1 +
.../ssd_smart/disklist_expected.json | 16 +
test/disk_tests/ssd_smart/sda/device/vendor | 1 +
.../disk_tests/ssd_smart/sda/queue/rotational | 1 +
test/disk_tests/ssd_smart/sda/size | 1 +
test/disk_tests/ssd_smart/sda_smart | 352 ++++++++++++++++++
.../ssd_smart/sda_smart_expected.json | 146 ++++++++
test/disk_tests/ssd_smart/sda_udevadm | 11 +
test/disklist_test.pm | 4 +-
20 files changed, 714 insertions(+), 58 deletions(-)
create mode 100644 test/disk_tests/nvme_smart/disklist
create mode 100644 test/disk_tests/nvme_smart/disklist_expected.json
create mode 100644 test/disk_tests/nvme_smart/nvme0/model
create mode 100644 test/disk_tests/nvme_smart/nvme0_smart
create mode 120000 test/disk_tests/nvme_smart/nvme0n1/device
create mode 100644 test/disk_tests/nvme_smart/nvme0n1/queue/rotational
create mode 100644 test/disk_tests/nvme_smart/nvme0n1/size
create mode 100644 test/disk_tests/nvme_smart/nvme0n1_smart_expected.json
create mode 100644 test/disk_tests/nvme_smart/nvme0n1_udevadm
create mode 100644 test/disk_tests/ssd_smart/disklist
create mode 100644 test/disk_tests/ssd_smart/disklist_expected.json
create mode 100644 test/disk_tests/ssd_smart/sda/device/vendor
create mode 100644 test/disk_tests/ssd_smart/sda/queue/rotational
create mode 100644 test/disk_tests/ssd_smart/sda/size
create mode 100644 test/disk_tests/ssd_smart/sda_smart
create mode 100644 test/disk_tests/ssd_smart/sda_smart_expected.json
create mode 100644 test/disk_tests/ssd_smart/sda_udevadm
diff --git a/PVE/API2/Disks.pm b/PVE/API2/Disks.pm
index 33bca76..a453efc 100644
--- a/PVE/API2/Disks.pm
+++ b/PVE/API2/Disks.pm
@@ -195,6 +195,12 @@ __PACKAGE__->register_method ({
description => "If true returns only the health status",
optional => 1,
},
+ format => {
+ description => "Return json or text",
+ type => 'string',
+ enum => ['text', 'json'],
+ optional => 1,
+ },
},
},
returns => {
@@ -204,6 +210,7 @@ __PACKAGE__->register_method ({
type => { type => 'string', optional => 1 },
attributes => { type => 'array', optional => 1},
text => { type => 'string', optional => 1 },
+ json => { type => 'string', optional => 1 },
},
},
code => sub {
@@ -211,7 +218,7 @@ __PACKAGE__->register_method ({
my $disk = PVE::Diskmanage::verify_blockdev_path($param->{disk});
- my $result = PVE::Diskmanage::get_smart_data($disk, $param->{healthonly});
+ my $result = PVE::Diskmanage::get_smart_data($disk, $param->{healthonly}, $param->{format});
$result->{health} = 'UNKNOWN' if !defined $result->{health};
$result = { health => $result->{health} } if $param->{healthonly};
diff --git a/PVE/Diskmanage.pm b/PVE/Diskmanage.pm
index 64bb813..3f433fb 100644
--- a/PVE/Diskmanage.pm
+++ b/PVE/Diskmanage.pm
@@ -81,11 +81,12 @@ sub disk_is_used {
}
sub get_smart_data {
- my ($disk, $healthonly) = @_;
+ my ($disk, $healthonly, $format) = @_;
assert_blockdev($disk);
my $smartdata = {};
my $type;
+ $format //= 'text';
my $returncode = 0;
@@ -95,70 +96,79 @@ sub get_smart_data {
or die "failed to get nvme controller device for $disk\n");
}
- my $cmd = [$SMARTCTL, '-H'];
- push @$cmd, '-A', '-f', 'brief' if !$healthonly;
+ my $cmd = [$SMARTCTL, '-j', '-H'];
+ push @$cmd, '-Afbrief' if !$healthonly;
push @$cmd, $disk;
+ my $smart_result = '';
eval {
- $returncode = run_command($cmd, noerr => 1, outfunc => sub{
- my ($line) = @_;
+ $returncode = run_command($cmd, noerr => 1, outfunc => sub { $smart_result .= shift });
+ };
+ my $err = $@;
-# ATA SMART attributes, e.g.:
-# ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
-# 1 Raw_Read_Error_Rate POSR-K 100 100 000 - 0
-#
-# SAS and NVME disks, e.g.:
-# Data Units Written: 5,584,952 [2.85 TB]
-# Accumulated start-stop cycles: 34
-
- if (defined($type) && $type eq 'ata' && $line =~ m/^([ \d]{2}\d)\s+(\S+)\s+(\S{6})\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(.*)$/) {
- my $entry = {};
-
- $entry->{name} = $2 if defined $2;
- $entry->{flags} = $3 if defined $3;
- # the +0 makes a number out of the strings
- $entry->{value} = $4+0 if defined $4;
- $entry->{worst} = $5+0 if defined $5;
- # some disks report the default threshold as --- instead of 000
- if (defined($6) && $6 eq '---') {
- $entry->{threshold} = 0;
- } else {
- $entry->{threshold} = $6+0 if defined $6;
- }
- $entry->{fail} = $7 if defined $7;
- $entry->{raw} = $8 if defined $8;
- $entry->{id} = $1 if defined $1;
- push @{$smartdata->{attributes}}, $entry;
- } elsif ($line =~ m/(?:Health Status|self\-assessment test result): (.*)$/ ) {
- $smartdata->{health} = $1;
- } elsif ($line =~ m/Vendor Specific SMART Attributes with Thresholds:/) {
- $type = 'ata';
- delete $smartdata->{text};
- } elsif ($line =~ m/=== START OF (READ )?SMART DATA SECTION ===/) {
- $type = 'text';
- } elsif (defined($type) && $type eq 'text') {
- $smartdata->{text} = '' if !defined $smartdata->{text};
- $smartdata->{text} .= "$line\n";
- # 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;
+ my $json_result = decode_json($smart_result);
+
+ my $smart_health = $json_result->{smart_status}->{passed};
+ if (JSON::is_bool($smart_health)) {
+ $smart_health = $smart_health ? "PASSED" : "FAILED";
+ } else {
+ $smart_health = 'UNKNOWN';
+ }
+
+ $smartdata->{health} = $smart_health;
+
+ $type = $json_result->{device}->{type};
+ if ($type eq 'nvme') {
+ $smartdata->{type} = $format; # text or json but FIXME: remove in PVE 7.0 and use json
+
+ my $nvme_info = $json_result->{nvme_smart_health_information_log};
+
+ if (!$healthonly) {
+ $smartdata->{wearout} = 100.0 - $nvme_info->{percentage_used};
+ }
+
+ my $add_key = sub {
+ my ($key, $value) = @_;
+ if ($format eq 'text') {
+ $smartdata->{text} .= "$key : $value\n";
+ }
+ };
+
+ foreach my $key (sort keys %{$nvme_info}) {
+ my $value = $nvme_info->{$key};
+ # some fields can also be arrays
+ # e.g. temperature_sensor
+ if (ref($value) eq 'ARRAY') {
+ while (my $index = each(@$value)) {
+ $add_key->("${key}_${index}", $value->[$index]);
}
- } elsif ($line =~ m/SMART Disabled/) {
- $smartdata->{health} = "SMART Disabled";
+ } else {
+ $add_key->($key, $value);
}
- });
- };
- my $err = $@;
+ }
+ delete $smartdata->{attributes}; # this is for ata disks only
+ } else {
+ $smartdata->{type} = 'ata';
+ foreach my $attribute (@{$json_result->{ata_smart_attributes}->{table}}) {
+ # we need to override or delete some fields to fit expected json schema of unit tests
+ my $flags_string = $attribute->{flags}->{string};
+ $flags_string =~ s/\s+$//;
+ $attribute->{flags} = $flags_string;
+ $attribute->{raw} = $attribute->{raw}->{string};
+ $attribute->{threshold} = delete $attribute->{thresh};
+ $attribute->{fail} = ${attribute}->{when_failed} eq "" ? "-" : ${attribute}->{when_failed};
+ delete ${attribute}->{when_failed};
+
+ push @{$smartdata->{attributes}}, $attribute;
+ }
+ my @sorted_attributes = sort { $a->{id} <=> $b->{id} } @{$smartdata->{attributes}};
+ @{$smartdata->{attributes}} = @sorted_attributes;
+ }
- # bit 0 and 1 mark an severe smartctl error
- # all others are for disk status, so ignore them
- # see smartctl(8)
- if ((defined($returncode) && ($returncode & 0b00000011)) || $err) {
+ if ($returncode & 0b00000011 || $err) {
die "Error getting S.M.A.R.T. data: Exit code: $returncode\n";
}
- $smartdata->{type} = $type;
-
return $smartdata;
}
diff --git a/test/disk_tests/nvme_smart/disklist b/test/disk_tests/nvme_smart/disklist
new file mode 100644
index 0000000..d00b90e
--- /dev/null
+++ b/test/disk_tests/nvme_smart/disklist
@@ -0,0 +1 @@
+nvme0n1
diff --git a/test/disk_tests/nvme_smart/disklist_expected.json b/test/disk_tests/nvme_smart/disklist_expected.json
new file mode 100644
index 0000000..4d1c92f
--- /dev/null
+++ b/test/disk_tests/nvme_smart/disklist_expected.json
@@ -0,0 +1,16 @@
+{
+ "nvme0n1" : {
+ "wearout" : 69,
+ "vendor" : "unknown",
+ "size" : 512000,
+ "health" : "PASSED",
+ "serial" : "unknown",
+ "model" : "NVME MODEL 1",
+ "rpm" : 0,
+ "osdid" : -1,
+ "devpath" : "/dev/nvme0n1",
+ "gpt" : 0,
+ "wwn" : "unknown",
+ "type" : "nvme"
+ }
+}
diff --git a/test/disk_tests/nvme_smart/nvme0/model b/test/disk_tests/nvme_smart/nvme0/model
new file mode 100644
index 0000000..9bd6eba
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0/model
@@ -0,0 +1 @@
+NVME MODEL 1
diff --git a/test/disk_tests/nvme_smart/nvme0_smart b/test/disk_tests/nvme_smart/nvme0_smart
new file mode 100644
index 0000000..3f3c799
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0_smart
@@ -0,0 +1,65 @@
+{
+ "json_format_version": [
+ 1,
+ 0
+ ],
+ "smartctl": {
+ "version": [
+ 7,
+ 2
+ ],
+ "svn_revision": "5155",
+ "platform_info": "x86_64-linux-5.11.7-1-pve",
+ "build_info": "(local build)",
+ "argv": [
+ "smartctl",
+ "-j",
+ "-H",
+ "-Afbrief",
+ "/dev/nvme0"
+ ],
+ "exit_status": 0
+ },
+ "device": {
+ "name": "/dev/nvme0",
+ "info_name": "/dev/nvme0",
+ "type": "nvme",
+ "protocol": "NVMe"
+ },
+ "smart_status": {
+ "passed": true,
+ "nvme": {
+ "value": 0
+ }
+ },
+ "nvme_smart_health_information_log": {
+ "critical_warning": 0,
+ "temperature": 35,
+ "available_spare": 100,
+ "available_spare_threshold": 10,
+ "percentage_used": 31,
+ "data_units_read": 4546105,
+ "data_units_written": 16623231,
+ "host_reads": 154011524,
+ "host_writes": 282144186,
+ "controller_busy_time": 355,
+ "power_cycles": 514,
+ "power_on_hours": 2491,
+ "unsafe_shutdowns": 38,
+ "media_errors": 0,
+ "num_err_log_entries": 0,
+ "warning_temp_time": 0,
+ "critical_comp_time": 0,
+ "temperature_sensors": [
+ 36,
+ 34
+ ]
+ },
+ "temperature": {
+ "current": 35
+ },
+ "power_cycle_count": 514,
+ "power_on_time": {
+ "hours": 2491
+ }
+}
diff --git a/test/disk_tests/nvme_smart/nvme0n1/device b/test/disk_tests/nvme_smart/nvme0n1/device
new file mode 120000
index 0000000..e890f3e
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1/device
@@ -0,0 +1 @@
+../nvme0
\ No newline at end of file
diff --git a/test/disk_tests/nvme_smart/nvme0n1/queue/rotational b/test/disk_tests/nvme_smart/nvme0n1/queue/rotational
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1/queue/rotational
@@ -0,0 +1 @@
+0
diff --git a/test/disk_tests/nvme_smart/nvme0n1/size b/test/disk_tests/nvme_smart/nvme0n1/size
new file mode 100644
index 0000000..83b33d2
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1/size
@@ -0,0 +1 @@
+1000
diff --git a/test/disk_tests/nvme_smart/nvme0n1_smart_expected.json b/test/disk_tests/nvme_smart/nvme0n1_smart_expected.json
new file mode 100644
index 0000000..e3f0ce0
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1_smart_expected.json
@@ -0,0 +1,6 @@
+{
+ "text" : "available_spare : 100\navailable_spare_threshold : 10\ncontroller_busy_time : 355\ncritical_comp_time : 0\ncritical_warning : 0\ndata_units_read : 4546105\ndata_units_written : 16623231\nhost_reads : 154011524\nhost_writes : 282144186\nmedia_errors : 0\nnum_err_log_entries : 0\npercentage_used : 31\npower_cycles : 514\npower_on_hours : 2491\ntemperature : 35\ntemperature_sensors_0 : 36\ntemperature_sensors_1 : 34\nunsafe_shutdowns : 38\nwarning_temp_time : 0\n",
+ "health" : "PASSED",
+ "type" : "text",
+ "wearout": 69
+}
diff --git a/test/disk_tests/nvme_smart/nvme0n1_udevadm b/test/disk_tests/nvme_smart/nvme0n1_udevadm
new file mode 100644
index 0000000..36c78ce
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1_udevadm
@@ -0,0 +1,18 @@
+
+P: /devices/pci0000:00/0000:00:01.1/0000:02:00.0/nvme/nvme0/nvme0n1
+N: nvme0n1
+S: disk/by-id/lvm-pv-uuid-Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
+E: DEVLINKS=/dev/disk/by-id/lvm-pv-uuid-Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
+E: DEVNAME=/dev/nvme0n1
+E: DEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/nvme/nvme0/nvme0n1
+E: DEVTYPE=disk
+E: ID_FS_TYPE=LVM2_member
+E: ID_FS_USAGE=raid
+E: ID_FS_UUID=Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
+E: ID_FS_UUID_ENC=Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
+E: ID_FS_VERSION=LVM2 001
+E: MAJOR=259
+E: MINOR=0
+E: SUBSYSTEM=block
+E: TAGS=:systemd:
+E: USEC_INITIALIZED=3842
diff --git a/test/disk_tests/ssd_smart/disklist b/test/disk_tests/ssd_smart/disklist
new file mode 100644
index 0000000..9191c61
--- /dev/null
+++ b/test/disk_tests/ssd_smart/disklist
@@ -0,0 +1 @@
+sda
diff --git a/test/disk_tests/ssd_smart/disklist_expected.json b/test/disk_tests/ssd_smart/disklist_expected.json
new file mode 100644
index 0000000..3681cc8
--- /dev/null
+++ b/test/disk_tests/ssd_smart/disklist_expected.json
@@ -0,0 +1,16 @@
+{
+ "sda" : {
+ "serial" : "000000000000",
+ "vendor" : "ATA",
+ "rpm" : 0,
+ "gpt" : 1,
+ "health" : "PASSED",
+ "wearout" : "98",
+ "osdid" : -1,
+ "size" : 512000,
+ "type" : "ssd",
+ "devpath" : "/dev/sda",
+ "model" : "Samsung_SSD_860_EVO_1TB",
+ "wwn" : "0x0000000000000000"
+ }
+}
diff --git a/test/disk_tests/ssd_smart/sda/device/vendor b/test/disk_tests/ssd_smart/sda/device/vendor
new file mode 100644
index 0000000..531030d
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda/device/vendor
@@ -0,0 +1 @@
+ATA
diff --git a/test/disk_tests/ssd_smart/sda/queue/rotational b/test/disk_tests/ssd_smart/sda/queue/rotational
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda/queue/rotational
@@ -0,0 +1 @@
+0
diff --git a/test/disk_tests/ssd_smart/sda/size b/test/disk_tests/ssd_smart/sda/size
new file mode 100644
index 0000000..83b33d2
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda/size
@@ -0,0 +1 @@
+1000
diff --git a/test/disk_tests/ssd_smart/sda_smart b/test/disk_tests/ssd_smart/sda_smart
new file mode 100644
index 0000000..907e7da
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda_smart
@@ -0,0 +1,352 @@
+{
+ "json_format_version": [
+ 1,
+ 0
+ ],
+ "smartctl": {
+ "version": [
+ 7,
+ 2
+ ],
+ "svn_revision": "5155",
+ "platform_info": "x86_64-linux-5.11.7-1-pve",
+ "build_info": "(local build)",
+ "argv": [
+ "smartctl",
+ "-j",
+ "-H",
+ "-Afbrief",
+ "/dev/sda"
+ ],
+ "exit_status": 0
+ },
+ "device": {
+ "name": "/dev/sda",
+ "info_name": "/dev/sda [SAT]",
+ "type": "sat",
+ "protocol": "ATA"
+ },
+ "smart_status": {
+ "passed": true
+ },
+ "ata_smart_attributes": {
+ "revision": 1,
+ "table": [
+ {
+ "id": 5,
+ "name": "Reallocated_Sector_Ct",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 51,
+ "string": "PO--CK ",
+ "prefailure": true,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 9,
+ "name": "Power_On_Hours",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 2463,
+ "string": "2463"
+ }
+ },
+ {
+ "id": 12,
+ "name": "Power_Cycle_Count",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 499,
+ "string": "499"
+ }
+ },
+ {
+ "id": 177,
+ "name": "Wear_Leveling_Count",
+ "value": 98,
+ "worst": 98,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 19,
+ "string": "PO--C- ",
+ "prefailure": true,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 20,
+ "string": "20"
+ }
+ },
+ {
+ "id": 179,
+ "name": "Used_Rsvd_Blk_Cnt_Tot",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 19,
+ "string": "PO--C- ",
+ "prefailure": true,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 181,
+ "name": "Program_Fail_Cnt_Total",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 182,
+ "name": "Erase_Fail_Count_Total",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 183,
+ "name": "Runtime_Bad_Block",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 19,
+ "string": "PO--C- ",
+ "prefailure": true,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 187,
+ "name": "Uncorrectable_Error_Cnt",
+ "value": 100,
+ "worst": 100,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 190,
+ "name": "Airflow_Temperature_Cel",
+ "value": 73,
+ "worst": 45,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 27,
+ "string": "27"
+ }
+ },
+ {
+ "id": 195,
+ "name": "ECC_Error_Rate",
+ "value": 200,
+ "worst": 200,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 26,
+ "string": "-O-RC- ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": true,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 199,
+ "name": "CRC_Error_Count",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 62,
+ "string": "-OSRCK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": true,
+ "error_rate": true,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 1,
+ "string": "1"
+ }
+ },
+ {
+ "id": 235,
+ "name": "POR_Recovery_Count",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 18,
+ "string": "-O--C- ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 39,
+ "string": "39"
+ }
+ },
+ {
+ "id": 241,
+ "name": "Total_LBAs_Written",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 19999585737,
+ "string": "19999585737"
+ }
+ }
+ ]
+ },
+ "power_on_time": {
+ "hours": 2515
+ },
+ "power_cycle_count": 508,
+ "temperature": {
+ "current": 29
+ }
+}
diff --git a/test/disk_tests/ssd_smart/sda_smart_expected.json b/test/disk_tests/ssd_smart/sda_smart_expected.json
new file mode 100644
index 0000000..36da71e
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda_smart_expected.json
@@ -0,0 +1,146 @@
+{
+ "attributes" : [
+ {
+ "fail" : "-",
+ "flags" : "PO--CK",
+ "id" : 5,
+ "name" : "Reallocated_Sector_Ct",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 9,
+ "name" : "Power_On_Hours",
+ "raw" : "2463",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 12,
+ "name" : "Power_Cycle_Count",
+ "raw" : "499",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ },
+ {
+ "fail" : "-",
+ "flags" : "PO--C-",
+ "id" : 177,
+ "name" : "Wear_Leveling_Count",
+ "raw" : "20",
+ "threshold" : 0,
+ "value" : 98,
+ "worst" : 98
+ },
+ {
+ "fail" : "-",
+ "flags" : "PO--C-",
+ "id" : 179,
+ "name" : "Used_Rsvd_Blk_Cnt_Tot",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 181,
+ "name" : "Program_Fail_Cnt_Total",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 182,
+ "name" : "Erase_Fail_Count_Total",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "PO--C-",
+ "id" : 183,
+ "name" : "Runtime_Bad_Block",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 187,
+ "name" : "Uncorrectable_Error_Cnt",
+ "raw" : "0",
+ "threshold" : 0,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 190,
+ "name" : "Airflow_Temperature_Cel",
+ "raw" : "27",
+ "threshold" : 0,
+ "value" : 73,
+ "worst" : 45
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O-RC-",
+ "id" : 195,
+ "name" : "ECC_Error_Rate",
+ "raw" : "0",
+ "threshold" : 0,
+ "value" : 200,
+ "worst" : 200
+ },
+ {
+ "fail" : "-",
+ "flags" : "-OSRCK",
+ "id" : 199,
+ "name" : "CRC_Error_Count",
+ "raw" : "1",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--C-",
+ "id" : 235,
+ "name" : "POR_Recovery_Count",
+ "raw" : "39",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 241,
+ "name" : "Total_LBAs_Written",
+ "raw" : "19999585737",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ }
+ ],
+ "health" : "PASSED",
+ "type" : "ata"
+}
diff --git a/test/disk_tests/ssd_smart/sda_udevadm b/test/disk_tests/ssd_smart/sda_udevadm
new file mode 100644
index 0000000..f662221
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda_udevadm
@@ -0,0 +1,11 @@
+E: DEVNAME=/dev/sda
+E: DEVTYPE=disk
+E: ID_ATA_ROTATION_RATE_RPM=0
+E: ID_BUS=ata
+E: ID_MODEL=Samsung_SSD_860_EVO_1TB
+E: ID_PART_TABLE_TYPE=gpt
+E: ID_SERIAL=Samsung_SSD_860_EVO_1TB_000000000000000
+E: ID_SERIAL_SHORT=000000000000
+E: ID_TYPE=disk
+E: ID_WWN=0x0000000000000000
+
diff --git a/test/disklist_test.pm b/test/disklist_test.pm
index 7f0e0be..727fb44 100644
--- a/test/disklist_test.pm
+++ b/test/disklist_test.pm
@@ -34,10 +34,10 @@ sub mocked_run_command {
my $dev;
my $type;
if (@$cmd > 3) {
- $dev = $cmd->[5];
+ $dev = $cmd->[4];
$type = 'smart';
} else {
- $dev = $cmd->[2];
+ $dev = $cmd->[3];
$type = 'health';
}
$dev =~ s|/dev/||;
--
2.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH v2 storage 2/2] smartctl: use json parsing
2021-04-01 13:40 [pve-devel] [PATCH storage 1/2] smartctl: remove to-be-replaced disk_tests Oguz Bektas
2021-04-01 13:40 ` [pve-devel] [PATCH storage 2/2] smartctl: use json parsing Oguz Bektas
@ 2021-04-01 14:24 ` Oguz Bektas
2021-05-10 12:21 ` Dominik Csapak
2021-05-10 12:15 ` [pve-devel] [PATCH storage 1/2] smartctl: remove to-be-replaced disk_tests Dominik Csapak
2 siblings, 1 reply; 7+ messages in thread
From: Oguz Bektas @ 2021-04-01 14:24 UTC (permalink / raw)
To: pve-devel
adapt the smartctl endpoint to run smartctl with the --json or -j flag
to parse it more reasonably.
additionally add the $format parameter to assist in switching to the new
json parsed output for nvme devices in PVE 7.0 (until 7.0 removing the
'text' field completely would be a breaking change, so we still default
to the old json fields but with the parsed key:value pairs in the 'text'
field instead of raw smartctl output)
for the unit tests from now we need to collect the smartctl outputs with
the json flag. the current tests cover ssd_smart and nvme_smart cases.
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
---
v1->v2:
* fixed bug with --format json not showing anything...
PVE/API2/Disks.pm | 9 +-
PVE/Diskmanage.pm | 119 +++---
test/disk_tests/nvme_smart/disklist | 1 +
.../nvme_smart/disklist_expected.json | 16 +
test/disk_tests/nvme_smart/nvme0/model | 1 +
test/disk_tests/nvme_smart/nvme0_smart | 65 ++++
test/disk_tests/nvme_smart/nvme0n1/device | 1 +
.../nvme_smart/nvme0n1/queue/rotational | 1 +
test/disk_tests/nvme_smart/nvme0n1/size | 1 +
.../nvme_smart/nvme0n1_smart_expected.json | 6 +
test/disk_tests/nvme_smart/nvme0n1_udevadm | 18 +
test/disk_tests/ssd_smart/disklist | 1 +
.../ssd_smart/disklist_expected.json | 16 +
test/disk_tests/ssd_smart/sda/device/vendor | 1 +
.../disk_tests/ssd_smart/sda/queue/rotational | 1 +
test/disk_tests/ssd_smart/sda/size | 1 +
test/disk_tests/ssd_smart/sda_smart | 352 ++++++++++++++++++
.../ssd_smart/sda_smart_expected.json | 146 ++++++++
test/disk_tests/ssd_smart/sda_udevadm | 11 +
test/disklist_test.pm | 4 +-
20 files changed, 714 insertions(+), 57 deletions(-)
create mode 100644 test/disk_tests/nvme_smart/disklist
create mode 100644 test/disk_tests/nvme_smart/disklist_expected.json
create mode 100644 test/disk_tests/nvme_smart/nvme0/model
create mode 100644 test/disk_tests/nvme_smart/nvme0_smart
create mode 120000 test/disk_tests/nvme_smart/nvme0n1/device
create mode 100644 test/disk_tests/nvme_smart/nvme0n1/queue/rotational
create mode 100644 test/disk_tests/nvme_smart/nvme0n1/size
create mode 100644 test/disk_tests/nvme_smart/nvme0n1_smart_expected.json
create mode 100644 test/disk_tests/nvme_smart/nvme0n1_udevadm
create mode 100644 test/disk_tests/ssd_smart/disklist
create mode 100644 test/disk_tests/ssd_smart/disklist_expected.json
create mode 100644 test/disk_tests/ssd_smart/sda/device/vendor
create mode 100644 test/disk_tests/ssd_smart/sda/queue/rotational
create mode 100644 test/disk_tests/ssd_smart/sda/size
create mode 100644 test/disk_tests/ssd_smart/sda_smart
create mode 100644 test/disk_tests/ssd_smart/sda_smart_expected.json
create mode 100644 test/disk_tests/ssd_smart/sda_udevadm
diff --git a/PVE/API2/Disks.pm b/PVE/API2/Disks.pm
index 33bca76..a453efc 100644
--- a/PVE/API2/Disks.pm
+++ b/PVE/API2/Disks.pm
@@ -195,6 +195,12 @@ __PACKAGE__->register_method ({
description => "If true returns only the health status",
optional => 1,
},
+ format => {
+ description => "Return json or text",
+ type => 'string',
+ enum => ['text', 'json'],
+ optional => 1,
+ },
},
},
returns => {
@@ -204,6 +210,7 @@ __PACKAGE__->register_method ({
type => { type => 'string', optional => 1 },
attributes => { type => 'array', optional => 1},
text => { type => 'string', optional => 1 },
+ json => { type => 'string', optional => 1 },
},
},
code => sub {
@@ -211,7 +218,7 @@ __PACKAGE__->register_method ({
my $disk = PVE::Diskmanage::verify_blockdev_path($param->{disk});
- my $result = PVE::Diskmanage::get_smart_data($disk, $param->{healthonly});
+ my $result = PVE::Diskmanage::get_smart_data($disk, $param->{healthonly}, $param->{format});
$result->{health} = 'UNKNOWN' if !defined $result->{health};
$result = { health => $result->{health} } if $param->{healthonly};
diff --git a/PVE/Diskmanage.pm b/PVE/Diskmanage.pm
index 64bb813..2fe70bc 100644
--- a/PVE/Diskmanage.pm
+++ b/PVE/Diskmanage.pm
@@ -81,11 +81,12 @@ sub disk_is_used {
}
sub get_smart_data {
- my ($disk, $healthonly) = @_;
+ my ($disk, $healthonly, $format) = @_;
assert_blockdev($disk);
my $smartdata = {};
my $type;
+ $format //= 'text';
my $returncode = 0;
@@ -95,70 +96,80 @@ sub get_smart_data {
or die "failed to get nvme controller device for $disk\n");
}
- my $cmd = [$SMARTCTL, '-H'];
- push @$cmd, '-A', '-f', 'brief' if !$healthonly;
+ my $cmd = [$SMARTCTL, '-j', '-H'];
+ push @$cmd, '-Afbrief' if !$healthonly;
push @$cmd, $disk;
+ my $smart_result = '';
eval {
- $returncode = run_command($cmd, noerr => 1, outfunc => sub{
- my ($line) = @_;
+ $returncode = run_command($cmd, noerr => 1, outfunc => sub { $smart_result .= shift });
+ };
+ my $err = $@;
+
+ my $json_result = decode_json($smart_result);
+
+ my $smart_health = $json_result->{smart_status}->{passed};
+ if (JSON::is_bool($smart_health)) {
+ $smart_health = $smart_health ? "PASSED" : "FAILED";
+ } else {
+ $smart_health = 'UNKNOWN';
+ }
+
+ $smartdata->{health} = $smart_health;
+
+ $type = $json_result->{device}->{type};
+ if ($type eq 'nvme') {
+ $smartdata->{type} = $format; # text or json but FIXME: remove in PVE 7.0 and use json
+
+ my $nvme_info = $json_result->{nvme_smart_health_information_log};
+
+ if (!$healthonly) {
+ $smartdata->{wearout} = 100.0 - $nvme_info->{percentage_used};
+ }
-# ATA SMART attributes, e.g.:
-# ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
-# 1 Raw_Read_Error_Rate POSR-K 100 100 000 - 0
-#
-# SAS and NVME disks, e.g.:
-# Data Units Written: 5,584,952 [2.85 TB]
-# Accumulated start-stop cycles: 34
-
- if (defined($type) && $type eq 'ata' && $line =~ m/^([ \d]{2}\d)\s+(\S+)\s+(\S{6})\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(.*)$/) {
- my $entry = {};
-
- $entry->{name} = $2 if defined $2;
- $entry->{flags} = $3 if defined $3;
- # the +0 makes a number out of the strings
- $entry->{value} = $4+0 if defined $4;
- $entry->{worst} = $5+0 if defined $5;
- # some disks report the default threshold as --- instead of 000
- if (defined($6) && $6 eq '---') {
- $entry->{threshold} = 0;
+ my $add_key = sub {
+ my ($key, $value) = @_;
+ $smartdata->{text} .= "$key : $value\n";
+ };
+
+ if ($format eq 'text') {
+ foreach my $key (sort keys %{$nvme_info}) {
+ my $value = $nvme_info->{$key};
+ # some fields can also be arrays
+ # e.g. temperature_sensor
+ if (ref($value) eq 'ARRAY') {
+ while (my $index = each(@$value)) {
+ $add_key->("${key}_${index}", $value->[$index]);
+ }
} else {
- $entry->{threshold} = $6+0 if defined $6;
- }
- $entry->{fail} = $7 if defined $7;
- $entry->{raw} = $8 if defined $8;
- $entry->{id} = $1 if defined $1;
- push @{$smartdata->{attributes}}, $entry;
- } elsif ($line =~ m/(?:Health Status|self\-assessment test result): (.*)$/ ) {
- $smartdata->{health} = $1;
- } elsif ($line =~ m/Vendor Specific SMART Attributes with Thresholds:/) {
- $type = 'ata';
- delete $smartdata->{text};
- } elsif ($line =~ m/=== START OF (READ )?SMART DATA SECTION ===/) {
- $type = 'text';
- } elsif (defined($type) && $type eq 'text') {
- $smartdata->{text} = '' if !defined $smartdata->{text};
- $smartdata->{text} .= "$line\n";
- # 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;
+ $add_key->($key, $value);
}
- } elsif ($line =~ m/SMART Disabled/) {
- $smartdata->{health} = "SMART Disabled";
}
- });
- };
- my $err = $@;
+ } else {
+ $smartdata->{properties} = $nvme_info;
+ }
+ } else {
+ $smartdata->{type} = 'ata';
+ foreach my $attribute (@{$json_result->{ata_smart_attributes}->{table}}) {
+ # we need to override or delete some fields to fit expected json schema of unit tests
+ my $flags_string = $attribute->{flags}->{string};
+ $flags_string =~ s/\s+$//;
+ $attribute->{flags} = $flags_string;
+ $attribute->{raw} = $attribute->{raw}->{string};
+ $attribute->{threshold} = delete $attribute->{thresh};
+ $attribute->{fail} = ${attribute}->{when_failed} eq "" ? "-" : ${attribute}->{when_failed};
+ delete ${attribute}->{when_failed};
+
+ push @{$smartdata->{attributes}}, $attribute;
+ }
+ my @sorted_attributes = sort { $a->{id} <=> $b->{id} } @{$smartdata->{attributes}};
+ @{$smartdata->{attributes}} = @sorted_attributes;
+ }
- # bit 0 and 1 mark an severe smartctl error
- # all others are for disk status, so ignore them
- # see smartctl(8)
- if ((defined($returncode) && ($returncode & 0b00000011)) || $err) {
+ if ($returncode & 0b00000011 || $err) {
die "Error getting S.M.A.R.T. data: Exit code: $returncode\n";
}
- $smartdata->{type} = $type;
-
return $smartdata;
}
diff --git a/test/disk_tests/nvme_smart/disklist b/test/disk_tests/nvme_smart/disklist
new file mode 100644
index 0000000..d00b90e
--- /dev/null
+++ b/test/disk_tests/nvme_smart/disklist
@@ -0,0 +1 @@
+nvme0n1
diff --git a/test/disk_tests/nvme_smart/disklist_expected.json b/test/disk_tests/nvme_smart/disklist_expected.json
new file mode 100644
index 0000000..4d1c92f
--- /dev/null
+++ b/test/disk_tests/nvme_smart/disklist_expected.json
@@ -0,0 +1,16 @@
+{
+ "nvme0n1" : {
+ "wearout" : 69,
+ "vendor" : "unknown",
+ "size" : 512000,
+ "health" : "PASSED",
+ "serial" : "unknown",
+ "model" : "NVME MODEL 1",
+ "rpm" : 0,
+ "osdid" : -1,
+ "devpath" : "/dev/nvme0n1",
+ "gpt" : 0,
+ "wwn" : "unknown",
+ "type" : "nvme"
+ }
+}
diff --git a/test/disk_tests/nvme_smart/nvme0/model b/test/disk_tests/nvme_smart/nvme0/model
new file mode 100644
index 0000000..9bd6eba
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0/model
@@ -0,0 +1 @@
+NVME MODEL 1
diff --git a/test/disk_tests/nvme_smart/nvme0_smart b/test/disk_tests/nvme_smart/nvme0_smart
new file mode 100644
index 0000000..3f3c799
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0_smart
@@ -0,0 +1,65 @@
+{
+ "json_format_version": [
+ 1,
+ 0
+ ],
+ "smartctl": {
+ "version": [
+ 7,
+ 2
+ ],
+ "svn_revision": "5155",
+ "platform_info": "x86_64-linux-5.11.7-1-pve",
+ "build_info": "(local build)",
+ "argv": [
+ "smartctl",
+ "-j",
+ "-H",
+ "-Afbrief",
+ "/dev/nvme0"
+ ],
+ "exit_status": 0
+ },
+ "device": {
+ "name": "/dev/nvme0",
+ "info_name": "/dev/nvme0",
+ "type": "nvme",
+ "protocol": "NVMe"
+ },
+ "smart_status": {
+ "passed": true,
+ "nvme": {
+ "value": 0
+ }
+ },
+ "nvme_smart_health_information_log": {
+ "critical_warning": 0,
+ "temperature": 35,
+ "available_spare": 100,
+ "available_spare_threshold": 10,
+ "percentage_used": 31,
+ "data_units_read": 4546105,
+ "data_units_written": 16623231,
+ "host_reads": 154011524,
+ "host_writes": 282144186,
+ "controller_busy_time": 355,
+ "power_cycles": 514,
+ "power_on_hours": 2491,
+ "unsafe_shutdowns": 38,
+ "media_errors": 0,
+ "num_err_log_entries": 0,
+ "warning_temp_time": 0,
+ "critical_comp_time": 0,
+ "temperature_sensors": [
+ 36,
+ 34
+ ]
+ },
+ "temperature": {
+ "current": 35
+ },
+ "power_cycle_count": 514,
+ "power_on_time": {
+ "hours": 2491
+ }
+}
diff --git a/test/disk_tests/nvme_smart/nvme0n1/device b/test/disk_tests/nvme_smart/nvme0n1/device
new file mode 120000
index 0000000..e890f3e
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1/device
@@ -0,0 +1 @@
+../nvme0
\ No newline at end of file
diff --git a/test/disk_tests/nvme_smart/nvme0n1/queue/rotational b/test/disk_tests/nvme_smart/nvme0n1/queue/rotational
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1/queue/rotational
@@ -0,0 +1 @@
+0
diff --git a/test/disk_tests/nvme_smart/nvme0n1/size b/test/disk_tests/nvme_smart/nvme0n1/size
new file mode 100644
index 0000000..83b33d2
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1/size
@@ -0,0 +1 @@
+1000
diff --git a/test/disk_tests/nvme_smart/nvme0n1_smart_expected.json b/test/disk_tests/nvme_smart/nvme0n1_smart_expected.json
new file mode 100644
index 0000000..e3f0ce0
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1_smart_expected.json
@@ -0,0 +1,6 @@
+{
+ "text" : "available_spare : 100\navailable_spare_threshold : 10\ncontroller_busy_time : 355\ncritical_comp_time : 0\ncritical_warning : 0\ndata_units_read : 4546105\ndata_units_written : 16623231\nhost_reads : 154011524\nhost_writes : 282144186\nmedia_errors : 0\nnum_err_log_entries : 0\npercentage_used : 31\npower_cycles : 514\npower_on_hours : 2491\ntemperature : 35\ntemperature_sensors_0 : 36\ntemperature_sensors_1 : 34\nunsafe_shutdowns : 38\nwarning_temp_time : 0\n",
+ "health" : "PASSED",
+ "type" : "text",
+ "wearout": 69
+}
diff --git a/test/disk_tests/nvme_smart/nvme0n1_udevadm b/test/disk_tests/nvme_smart/nvme0n1_udevadm
new file mode 100644
index 0000000..36c78ce
--- /dev/null
+++ b/test/disk_tests/nvme_smart/nvme0n1_udevadm
@@ -0,0 +1,18 @@
+
+P: /devices/pci0000:00/0000:00:01.1/0000:02:00.0/nvme/nvme0/nvme0n1
+N: nvme0n1
+S: disk/by-id/lvm-pv-uuid-Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
+E: DEVLINKS=/dev/disk/by-id/lvm-pv-uuid-Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
+E: DEVNAME=/dev/nvme0n1
+E: DEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/nvme/nvme0/nvme0n1
+E: DEVTYPE=disk
+E: ID_FS_TYPE=LVM2_member
+E: ID_FS_USAGE=raid
+E: ID_FS_UUID=Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
+E: ID_FS_UUID_ENC=Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
+E: ID_FS_VERSION=LVM2 001
+E: MAJOR=259
+E: MINOR=0
+E: SUBSYSTEM=block
+E: TAGS=:systemd:
+E: USEC_INITIALIZED=3842
diff --git a/test/disk_tests/ssd_smart/disklist b/test/disk_tests/ssd_smart/disklist
new file mode 100644
index 0000000..9191c61
--- /dev/null
+++ b/test/disk_tests/ssd_smart/disklist
@@ -0,0 +1 @@
+sda
diff --git a/test/disk_tests/ssd_smart/disklist_expected.json b/test/disk_tests/ssd_smart/disklist_expected.json
new file mode 100644
index 0000000..3681cc8
--- /dev/null
+++ b/test/disk_tests/ssd_smart/disklist_expected.json
@@ -0,0 +1,16 @@
+{
+ "sda" : {
+ "serial" : "000000000000",
+ "vendor" : "ATA",
+ "rpm" : 0,
+ "gpt" : 1,
+ "health" : "PASSED",
+ "wearout" : "98",
+ "osdid" : -1,
+ "size" : 512000,
+ "type" : "ssd",
+ "devpath" : "/dev/sda",
+ "model" : "Samsung_SSD_860_EVO_1TB",
+ "wwn" : "0x0000000000000000"
+ }
+}
diff --git a/test/disk_tests/ssd_smart/sda/device/vendor b/test/disk_tests/ssd_smart/sda/device/vendor
new file mode 100644
index 0000000..531030d
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda/device/vendor
@@ -0,0 +1 @@
+ATA
diff --git a/test/disk_tests/ssd_smart/sda/queue/rotational b/test/disk_tests/ssd_smart/sda/queue/rotational
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda/queue/rotational
@@ -0,0 +1 @@
+0
diff --git a/test/disk_tests/ssd_smart/sda/size b/test/disk_tests/ssd_smart/sda/size
new file mode 100644
index 0000000..83b33d2
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda/size
@@ -0,0 +1 @@
+1000
diff --git a/test/disk_tests/ssd_smart/sda_smart b/test/disk_tests/ssd_smart/sda_smart
new file mode 100644
index 0000000..907e7da
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda_smart
@@ -0,0 +1,352 @@
+{
+ "json_format_version": [
+ 1,
+ 0
+ ],
+ "smartctl": {
+ "version": [
+ 7,
+ 2
+ ],
+ "svn_revision": "5155",
+ "platform_info": "x86_64-linux-5.11.7-1-pve",
+ "build_info": "(local build)",
+ "argv": [
+ "smartctl",
+ "-j",
+ "-H",
+ "-Afbrief",
+ "/dev/sda"
+ ],
+ "exit_status": 0
+ },
+ "device": {
+ "name": "/dev/sda",
+ "info_name": "/dev/sda [SAT]",
+ "type": "sat",
+ "protocol": "ATA"
+ },
+ "smart_status": {
+ "passed": true
+ },
+ "ata_smart_attributes": {
+ "revision": 1,
+ "table": [
+ {
+ "id": 5,
+ "name": "Reallocated_Sector_Ct",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 51,
+ "string": "PO--CK ",
+ "prefailure": true,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 9,
+ "name": "Power_On_Hours",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 2463,
+ "string": "2463"
+ }
+ },
+ {
+ "id": 12,
+ "name": "Power_Cycle_Count",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 499,
+ "string": "499"
+ }
+ },
+ {
+ "id": 177,
+ "name": "Wear_Leveling_Count",
+ "value": 98,
+ "worst": 98,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 19,
+ "string": "PO--C- ",
+ "prefailure": true,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 20,
+ "string": "20"
+ }
+ },
+ {
+ "id": 179,
+ "name": "Used_Rsvd_Blk_Cnt_Tot",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 19,
+ "string": "PO--C- ",
+ "prefailure": true,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 181,
+ "name": "Program_Fail_Cnt_Total",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 182,
+ "name": "Erase_Fail_Count_Total",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 183,
+ "name": "Runtime_Bad_Block",
+ "value": 100,
+ "worst": 100,
+ "thresh": 10,
+ "when_failed": "",
+ "flags": {
+ "value": 19,
+ "string": "PO--C- ",
+ "prefailure": true,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 187,
+ "name": "Uncorrectable_Error_Cnt",
+ "value": 100,
+ "worst": 100,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 190,
+ "name": "Airflow_Temperature_Cel",
+ "value": 73,
+ "worst": 45,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 27,
+ "string": "27"
+ }
+ },
+ {
+ "id": 195,
+ "name": "ECC_Error_Rate",
+ "value": 200,
+ "worst": 200,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 26,
+ "string": "-O-RC- ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": true,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 0,
+ "string": "0"
+ }
+ },
+ {
+ "id": 199,
+ "name": "CRC_Error_Count",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 62,
+ "string": "-OSRCK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": true,
+ "error_rate": true,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 1,
+ "string": "1"
+ }
+ },
+ {
+ "id": 235,
+ "name": "POR_Recovery_Count",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 18,
+ "string": "-O--C- ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": false
+ },
+ "raw": {
+ "value": 39,
+ "string": "39"
+ }
+ },
+ {
+ "id": 241,
+ "name": "Total_LBAs_Written",
+ "value": 99,
+ "worst": 99,
+ "thresh": 0,
+ "when_failed": "",
+ "flags": {
+ "value": 50,
+ "string": "-O--CK ",
+ "prefailure": false,
+ "updated_online": true,
+ "performance": false,
+ "error_rate": false,
+ "event_count": true,
+ "auto_keep": true
+ },
+ "raw": {
+ "value": 19999585737,
+ "string": "19999585737"
+ }
+ }
+ ]
+ },
+ "power_on_time": {
+ "hours": 2515
+ },
+ "power_cycle_count": 508,
+ "temperature": {
+ "current": 29
+ }
+}
diff --git a/test/disk_tests/ssd_smart/sda_smart_expected.json b/test/disk_tests/ssd_smart/sda_smart_expected.json
new file mode 100644
index 0000000..36da71e
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda_smart_expected.json
@@ -0,0 +1,146 @@
+{
+ "attributes" : [
+ {
+ "fail" : "-",
+ "flags" : "PO--CK",
+ "id" : 5,
+ "name" : "Reallocated_Sector_Ct",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 9,
+ "name" : "Power_On_Hours",
+ "raw" : "2463",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 12,
+ "name" : "Power_Cycle_Count",
+ "raw" : "499",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ },
+ {
+ "fail" : "-",
+ "flags" : "PO--C-",
+ "id" : 177,
+ "name" : "Wear_Leveling_Count",
+ "raw" : "20",
+ "threshold" : 0,
+ "value" : 98,
+ "worst" : 98
+ },
+ {
+ "fail" : "-",
+ "flags" : "PO--C-",
+ "id" : 179,
+ "name" : "Used_Rsvd_Blk_Cnt_Tot",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 181,
+ "name" : "Program_Fail_Cnt_Total",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 182,
+ "name" : "Erase_Fail_Count_Total",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "PO--C-",
+ "id" : 183,
+ "name" : "Runtime_Bad_Block",
+ "raw" : "0",
+ "threshold" : 10,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 187,
+ "name" : "Uncorrectable_Error_Cnt",
+ "raw" : "0",
+ "threshold" : 0,
+ "value" : 100,
+ "worst" : 100
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 190,
+ "name" : "Airflow_Temperature_Cel",
+ "raw" : "27",
+ "threshold" : 0,
+ "value" : 73,
+ "worst" : 45
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O-RC-",
+ "id" : 195,
+ "name" : "ECC_Error_Rate",
+ "raw" : "0",
+ "threshold" : 0,
+ "value" : 200,
+ "worst" : 200
+ },
+ {
+ "fail" : "-",
+ "flags" : "-OSRCK",
+ "id" : 199,
+ "name" : "CRC_Error_Count",
+ "raw" : "1",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--C-",
+ "id" : 235,
+ "name" : "POR_Recovery_Count",
+ "raw" : "39",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ },
+ {
+ "fail" : "-",
+ "flags" : "-O--CK",
+ "id" : 241,
+ "name" : "Total_LBAs_Written",
+ "raw" : "19999585737",
+ "threshold" : 0,
+ "value" : 99,
+ "worst" : 99
+ }
+ ],
+ "health" : "PASSED",
+ "type" : "ata"
+}
diff --git a/test/disk_tests/ssd_smart/sda_udevadm b/test/disk_tests/ssd_smart/sda_udevadm
new file mode 100644
index 0000000..f662221
--- /dev/null
+++ b/test/disk_tests/ssd_smart/sda_udevadm
@@ -0,0 +1,11 @@
+E: DEVNAME=/dev/sda
+E: DEVTYPE=disk
+E: ID_ATA_ROTATION_RATE_RPM=0
+E: ID_BUS=ata
+E: ID_MODEL=Samsung_SSD_860_EVO_1TB
+E: ID_PART_TABLE_TYPE=gpt
+E: ID_SERIAL=Samsung_SSD_860_EVO_1TB_000000000000000
+E: ID_SERIAL_SHORT=000000000000
+E: ID_TYPE=disk
+E: ID_WWN=0x0000000000000000
+
diff --git a/test/disklist_test.pm b/test/disklist_test.pm
index 7f0e0be..727fb44 100644
--- a/test/disklist_test.pm
+++ b/test/disklist_test.pm
@@ -34,10 +34,10 @@ sub mocked_run_command {
my $dev;
my $type;
if (@$cmd > 3) {
- $dev = $cmd->[5];
+ $dev = $cmd->[4];
$type = 'smart';
} else {
- $dev = $cmd->[2];
+ $dev = $cmd->[3];
$type = 'health';
}
$dev =~ s|/dev/||;
--
2.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [pve-devel] [PATCH storage 1/2] smartctl: remove to-be-replaced disk_tests
2021-04-01 13:40 [pve-devel] [PATCH storage 1/2] smartctl: remove to-be-replaced disk_tests Oguz Bektas
2021-04-01 13:40 ` [pve-devel] [PATCH storage 2/2] smartctl: use json parsing Oguz Bektas
2021-04-01 14:24 ` [pve-devel] [PATCH v2 " Oguz Bektas
@ 2021-05-10 12:15 ` Dominik Csapak
2021-05-10 12:27 ` Oguz Bektas
2 siblings, 1 reply; 7+ messages in thread
From: Dominik Csapak @ 2021-05-10 12:15 UTC (permalink / raw)
To: Proxmox VE development discussion, Oguz Bektas
hi,
sorry for the long wait on a review, but better
late than never ;)
so one high level comments:
why do you remove all disk tests ??
they did not only test the smart output, but also the
usage, ssd/hdd detection, vendor/model etc...
i understand that you do not have the original disks
for the smartctl -j output, but it should not be
*that* hard to fake it ;)
and even if it is, please change the tests so that
only the smart part is not tested anymore, e.g. with a flag
in the test itself....
so please find a way to keep the tests (as much as you can)
i'll comment more on the second patch
On 4/1/21 15:40, Oguz Bektas wrote:
> Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
> ---
> test/disk_tests/cciss/cciss!c0d0/device/model | 1 -
> .../disk_tests/cciss/cciss!c0d0/device/vendor | 1 -
> .../cciss/cciss!c0d0/queue/rotational | 1 -
> test/disk_tests/cciss/cciss!c0d0/size | 1 -
> test/disk_tests/cciss/cciss!c0d0_udevadm | 32 ---
> test/disk_tests/cciss/disklist | 1 -
> test/disk_tests/cciss/disklist_expected.json | 16 --
> test/disk_tests/hdd_smart/disklist | 2 -
> .../hdd_smart/disklist_expected.json | 30 --
> test/disk_tests/hdd_smart/sda/device/vendor | 1 -
> .../disk_tests/hdd_smart/sda/queue/rotational | 1 -
> test/disk_tests/hdd_smart/sda/size | 1 -
> test/disk_tests/hdd_smart/sda_health | 5 -
> test/disk_tests/hdd_smart/sda_smart | 40 ---
> .../hdd_smart/sda_smart_expected.json | 246 -----------------
> test/disk_tests/hdd_smart/sda_udevadm | 11 -
> test/disk_tests/hdd_smart/sdb/device/vendor | 1 -
> .../disk_tests/hdd_smart/sdb/queue/rotational | 1 -
> test/disk_tests/hdd_smart/sdb/size | 1 -
> test/disk_tests/hdd_smart/sdb_health | 5 -
> test/disk_tests/hdd_smart/sdb_smart | 36 ---
> .../hdd_smart/sdb_smart_expected.json | 216 ---------------
> test/disk_tests/hdd_smart/sdb_udevadm | 11 -
> test/disk_tests/nvme_smart/disklist | 1 -
> .../nvme_smart/disklist_expected.json | 16 --
> test/disk_tests/nvme_smart/nvme0/model | 1 -
> test/disk_tests/nvme_smart/nvme0_smart | 22 --
> test/disk_tests/nvme_smart/nvme0n1/device | 1 -
> .../nvme_smart/nvme0n1/queue/rotational | 1 -
> test/disk_tests/nvme_smart/nvme0n1/size | 1 -
> .../nvme_smart/nvme0n1_smart_expected.json | 6 -
> test/disk_tests/nvme_smart/nvme0n1_udevadm | 18 --
> test/disk_tests/sas/disklist | 1 -
> test/disk_tests/sas/disklist_expected.json | 17 --
> test/disk_tests/sas/sda/device/model | 1 -
> test/disk_tests/sas/sda/device/vendor | 1 -
> test/disk_tests/sas/sda/queue/rotational | 1 -
> test/disk_tests/sas/sda/size | 1 -
> test/disk_tests/sas/sda_smart | 20 --
> test/disk_tests/sas/sda_smart_expected.json | 6 -
> test/disk_tests/sas/sda_udevadm | 31 ---
> test/disk_tests/sas_ssd/disklist | 1 -
> .../disk_tests/sas_ssd/disklist_expected.json | 17 --
> test/disk_tests/sas_ssd/sda/device/model | 1 -
> test/disk_tests/sas_ssd/sda/device/vendor | 1 -
> test/disk_tests/sas_ssd/sda/queue/rotational | 1 -
> test/disk_tests/sas_ssd/sda/size | 1 -
> test/disk_tests/sas_ssd/sda_smart | 20 --
> .../sas_ssd/sda_smart_expected.json | 6 -
> test/disk_tests/sas_ssd/sda_udevadm | 31 ---
> test/disk_tests/ssd_smart/disklist | 5 -
> .../ssd_smart/disklist_expected.json | 72 -----
> test/disk_tests/ssd_smart/sda/device/vendor | 1 -
> .../disk_tests/ssd_smart/sda/queue/rotational | 1 -
> test/disk_tests/ssd_smart/sda/size | 1 -
> test/disk_tests/ssd_smart/sda_smart | 39 ---
> .../ssd_smart/sda_smart_expected.json | 236 ----------------
> test/disk_tests/ssd_smart/sda_udevadm | 11 -
> test/disk_tests/ssd_smart/sdb/device/vendor | 1 -
> .../disk_tests/ssd_smart/sdb/queue/rotational | 1 -
> test/disk_tests/ssd_smart/sdb/size | 1 -
> test/disk_tests/ssd_smart/sdb_smart | 41 ---
> .../ssd_smart/sdb_smart_expected.json | 256 ------------------
> test/disk_tests/ssd_smart/sdb_udevadm | 12 -
> test/disk_tests/ssd_smart/sdc/device/vendor | 1 -
> .../disk_tests/ssd_smart/sdc/queue/rotational | 1 -
> test/disk_tests/ssd_smart/sdc/size | 1 -
> test/disk_tests/ssd_smart/sdc_smart | 16 --
> .../ssd_smart/sdc_smart_expected.json | 16 --
> test/disk_tests/ssd_smart/sdc_udevadm | 11 -
> test/disk_tests/ssd_smart/sdd/device/vendor | 1 -
> .../disk_tests/ssd_smart/sdd/queue/rotational | 1 -
> test/disk_tests/ssd_smart/sdd/size | 1 -
> test/disk_tests/ssd_smart/sdd_smart | 40 ---
> .../ssd_smart/sdd_smart_expected.json | 256 ------------------
> test/disk_tests/ssd_smart/sdd_udevadm | 11 -
> test/disk_tests/ssd_smart/sde/device/vendor | 1 -
> .../disk_tests/ssd_smart/sde/queue/rotational | 1 -
> test/disk_tests/ssd_smart/sde/size | 1 -
> test/disk_tests/ssd_smart/sde_smart | 40 ---
> .../ssd_smart/sde_smart_expected.json | 246 -----------------
> test/disk_tests/ssd_smart/sde_udevadm | 11 -
> test/disk_tests/usages/disklist | 14 -
> test/disk_tests/usages/disklist_expected.json | 222 ---------------
> test/disk_tests/usages/lsblk | 8 -
> test/disk_tests/usages/lvs | 6 -
> test/disk_tests/usages/mounts | 2 -
> test/disk_tests/usages/partlist | 6 -
> test/disk_tests/usages/pvs | 7 -
> test/disk_tests/usages/sda/device/vendor | 1 -
> test/disk_tests/usages/sda/queue/rotational | 1 -
> test/disk_tests/usages/sda/size | 1 -
> test/disk_tests/usages/sda_udevadm | 12 -
> test/disk_tests/usages/sdb/device/vendor | 1 -
> test/disk_tests/usages/sdb/queue/rotational | 1 -
> test/disk_tests/usages/sdb/size | 1 -
> test/disk_tests/usages/sdb_udevadm | 12 -
> test/disk_tests/usages/sdc/device/vendor | 1 -
> test/disk_tests/usages/sdc/queue/rotational | 1 -
> test/disk_tests/usages/sdc/size | 1 -
> test/disk_tests/usages/sdc_udevadm | 12 -
> test/disk_tests/usages/sdd/device/vendor | 1 -
> test/disk_tests/usages/sdd/queue/rotational | 1 -
> test/disk_tests/usages/sdd/sdd1/size | 1 -
> test/disk_tests/usages/sdd/sdd2/size | 1 -
> test/disk_tests/usages/sdd/size | 1 -
> test/disk_tests/usages/sdd_udevadm | 12 -
> test/disk_tests/usages/sde/device/vendor | 1 -
> test/disk_tests/usages/sde/queue/rotational | 1 -
> test/disk_tests/usages/sde/sde1/size | 1 -
> test/disk_tests/usages/sde/size | 1 -
> test/disk_tests/usages/sde_udevadm | 12 -
> test/disk_tests/usages/sdf/device/vendor | 1 -
> test/disk_tests/usages/sdf/queue/rotational | 1 -
> test/disk_tests/usages/sdf/sdf1/size | 1 -
> test/disk_tests/usages/sdf/size | 1 -
> test/disk_tests/usages/sdf_udevadm | 12 -
> test/disk_tests/usages/sdg/device/vendor | 1 -
> test/disk_tests/usages/sdg/queue/rotational | 1 -
> test/disk_tests/usages/sdg/size | 1 -
> test/disk_tests/usages/sdg_udevadm | 12 -
> test/disk_tests/usages/sdh/device/vendor | 1 -
> test/disk_tests/usages/sdh/queue/rotational | 1 -
> test/disk_tests/usages/sdh/size | 1 -
> test/disk_tests/usages/sdh_udevadm | 12 -
> test/disk_tests/usages/sdi/device/vendor | 1 -
> test/disk_tests/usages/sdi/queue/rotational | 1 -
> test/disk_tests/usages/sdi/size | 1 -
> test/disk_tests/usages/sdi_udevadm | 12 -
> test/disk_tests/usages/sdj/device/vendor | 1 -
> test/disk_tests/usages/sdj/queue/rotational | 1 -
> test/disk_tests/usages/sdj/size | 1 -
> test/disk_tests/usages/sdj_udevadm | 12 -
> test/disk_tests/usages/sdk/device/vendor | 1 -
> test/disk_tests/usages/sdk/queue/rotational | 1 -
> test/disk_tests/usages/sdk/size | 1 -
> test/disk_tests/usages/sdk_udevadm | 12 -
> test/disk_tests/usages/sdl/device/vendor | 1 -
> test/disk_tests/usages/sdl/queue/rotational | 1 -
> test/disk_tests/usages/sdl/size | 1 -
> test/disk_tests/usages/sdl_udevadm | 12 -
> test/disk_tests/usages/sdm/device/vendor | 1 -
> test/disk_tests/usages/sdm/queue/rotational | 1 -
> test/disk_tests/usages/sdm/sdm1/size | 1 -
> test/disk_tests/usages/sdm/sdm9/size | 1 -
> test/disk_tests/usages/sdm/size | 1 -
> test/disk_tests/usages/sdm_udevadm | 12 -
> test/disk_tests/usages/sdn/device/vendor | 1 -
> test/disk_tests/usages/sdn/queue/rotational | 1 -
> test/disk_tests/usages/sdn/size | 1 -
> test/disk_tests/usages/sdn_udevadm | 14 -
> test/disk_tests/usages/zpool | 6 -
> 152 files changed, 2709 deletions(-)
> delete mode 100644 test/disk_tests/cciss/cciss!c0d0/device/model
> delete mode 100644 test/disk_tests/cciss/cciss!c0d0/device/vendor
> delete mode 100644 test/disk_tests/cciss/cciss!c0d0/queue/rotational
> delete mode 100644 test/disk_tests/cciss/cciss!c0d0/size
> delete mode 100644 test/disk_tests/cciss/cciss!c0d0_udevadm
> delete mode 100644 test/disk_tests/cciss/disklist
> delete mode 100644 test/disk_tests/cciss/disklist_expected.json
> delete mode 100644 test/disk_tests/hdd_smart/disklist
> delete mode 100644 test/disk_tests/hdd_smart/disklist_expected.json
> delete mode 100644 test/disk_tests/hdd_smart/sda/device/vendor
> delete mode 100644 test/disk_tests/hdd_smart/sda/queue/rotational
> delete mode 100644 test/disk_tests/hdd_smart/sda/size
> delete mode 100644 test/disk_tests/hdd_smart/sda_health
> delete mode 100644 test/disk_tests/hdd_smart/sda_smart
> delete mode 100644 test/disk_tests/hdd_smart/sda_smart_expected.json
> delete mode 100644 test/disk_tests/hdd_smart/sda_udevadm
> delete mode 100644 test/disk_tests/hdd_smart/sdb/device/vendor
> delete mode 100644 test/disk_tests/hdd_smart/sdb/queue/rotational
> delete mode 100644 test/disk_tests/hdd_smart/sdb/size
> delete mode 100644 test/disk_tests/hdd_smart/sdb_health
> delete mode 100644 test/disk_tests/hdd_smart/sdb_smart
> delete mode 100644 test/disk_tests/hdd_smart/sdb_smart_expected.json
> delete mode 100644 test/disk_tests/hdd_smart/sdb_udevadm
> delete mode 100644 test/disk_tests/nvme_smart/disklist
> delete mode 100644 test/disk_tests/nvme_smart/disklist_expected.json
> delete mode 100644 test/disk_tests/nvme_smart/nvme0/model
> delete mode 100644 test/disk_tests/nvme_smart/nvme0_smart
> delete mode 120000 test/disk_tests/nvme_smart/nvme0n1/device
> delete mode 100644 test/disk_tests/nvme_smart/nvme0n1/queue/rotational
> delete mode 100644 test/disk_tests/nvme_smart/nvme0n1/size
> delete mode 100644 test/disk_tests/nvme_smart/nvme0n1_smart_expected.json
> delete mode 100644 test/disk_tests/nvme_smart/nvme0n1_udevadm
> delete mode 100644 test/disk_tests/sas/disklist
> delete mode 100644 test/disk_tests/sas/disklist_expected.json
> delete mode 100644 test/disk_tests/sas/sda/device/model
> delete mode 100644 test/disk_tests/sas/sda/device/vendor
> delete mode 100644 test/disk_tests/sas/sda/queue/rotational
> delete mode 100644 test/disk_tests/sas/sda/size
> delete mode 100644 test/disk_tests/sas/sda_smart
> delete mode 100644 test/disk_tests/sas/sda_smart_expected.json
> delete mode 100644 test/disk_tests/sas/sda_udevadm
> delete mode 100644 test/disk_tests/sas_ssd/disklist
> delete mode 100644 test/disk_tests/sas_ssd/disklist_expected.json
> delete mode 100644 test/disk_tests/sas_ssd/sda/device/model
> delete mode 100644 test/disk_tests/sas_ssd/sda/device/vendor
> delete mode 100644 test/disk_tests/sas_ssd/sda/queue/rotational
> delete mode 100644 test/disk_tests/sas_ssd/sda/size
> delete mode 100644 test/disk_tests/sas_ssd/sda_smart
> delete mode 100644 test/disk_tests/sas_ssd/sda_smart_expected.json
> delete mode 100644 test/disk_tests/sas_ssd/sda_udevadm
> delete mode 100644 test/disk_tests/ssd_smart/disklist
> delete mode 100644 test/disk_tests/ssd_smart/disklist_expected.json
> delete mode 100644 test/disk_tests/ssd_smart/sda/device/vendor
> delete mode 100644 test/disk_tests/ssd_smart/sda/queue/rotational
> delete mode 100644 test/disk_tests/ssd_smart/sda/size
> delete mode 100644 test/disk_tests/ssd_smart/sda_smart
> delete mode 100644 test/disk_tests/ssd_smart/sda_smart_expected.json
> delete mode 100644 test/disk_tests/ssd_smart/sda_udevadm
> delete mode 100644 test/disk_tests/ssd_smart/sdb/device/vendor
> delete mode 100644 test/disk_tests/ssd_smart/sdb/queue/rotational
> delete mode 100644 test/disk_tests/ssd_smart/sdb/size
> delete mode 100644 test/disk_tests/ssd_smart/sdb_smart
> delete mode 100644 test/disk_tests/ssd_smart/sdb_smart_expected.json
> delete mode 100644 test/disk_tests/ssd_smart/sdb_udevadm
> delete mode 100644 test/disk_tests/ssd_smart/sdc/device/vendor
> delete mode 100644 test/disk_tests/ssd_smart/sdc/queue/rotational
> delete mode 100644 test/disk_tests/ssd_smart/sdc/size
> delete mode 100644 test/disk_tests/ssd_smart/sdc_smart
> delete mode 100644 test/disk_tests/ssd_smart/sdc_smart_expected.json
> delete mode 100644 test/disk_tests/ssd_smart/sdc_udevadm
> delete mode 100644 test/disk_tests/ssd_smart/sdd/device/vendor
> delete mode 100644 test/disk_tests/ssd_smart/sdd/queue/rotational
> delete mode 100644 test/disk_tests/ssd_smart/sdd/size
> delete mode 100644 test/disk_tests/ssd_smart/sdd_smart
> delete mode 100644 test/disk_tests/ssd_smart/sdd_smart_expected.json
> delete mode 100644 test/disk_tests/ssd_smart/sdd_udevadm
> delete mode 100644 test/disk_tests/ssd_smart/sde/device/vendor
> delete mode 100644 test/disk_tests/ssd_smart/sde/queue/rotational
> delete mode 100644 test/disk_tests/ssd_smart/sde/size
> delete mode 100644 test/disk_tests/ssd_smart/sde_smart
> delete mode 100644 test/disk_tests/ssd_smart/sde_smart_expected.json
> delete mode 100644 test/disk_tests/ssd_smart/sde_udevadm
> delete mode 100644 test/disk_tests/usages/disklist
> delete mode 100644 test/disk_tests/usages/disklist_expected.json
> delete mode 100644 test/disk_tests/usages/lsblk
> delete mode 100644 test/disk_tests/usages/lvs
> delete mode 100644 test/disk_tests/usages/mounts
> delete mode 100644 test/disk_tests/usages/partlist
> delete mode 100644 test/disk_tests/usages/pvs
> delete mode 100644 test/disk_tests/usages/sda/device/vendor
> delete mode 100644 test/disk_tests/usages/sda/queue/rotational
> delete mode 100644 test/disk_tests/usages/sda/size
> delete mode 100644 test/disk_tests/usages/sda_udevadm
> delete mode 100644 test/disk_tests/usages/sdb/device/vendor
> delete mode 100644 test/disk_tests/usages/sdb/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdb/size
> delete mode 100644 test/disk_tests/usages/sdb_udevadm
> delete mode 100644 test/disk_tests/usages/sdc/device/vendor
> delete mode 100644 test/disk_tests/usages/sdc/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdc/size
> delete mode 100644 test/disk_tests/usages/sdc_udevadm
> delete mode 100644 test/disk_tests/usages/sdd/device/vendor
> delete mode 100644 test/disk_tests/usages/sdd/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdd/sdd1/size
> delete mode 100644 test/disk_tests/usages/sdd/sdd2/size
> delete mode 100644 test/disk_tests/usages/sdd/size
> delete mode 100644 test/disk_tests/usages/sdd_udevadm
> delete mode 100644 test/disk_tests/usages/sde/device/vendor
> delete mode 100644 test/disk_tests/usages/sde/queue/rotational
> delete mode 100644 test/disk_tests/usages/sde/sde1/size
> delete mode 100644 test/disk_tests/usages/sde/size
> delete mode 100644 test/disk_tests/usages/sde_udevadm
> delete mode 100644 test/disk_tests/usages/sdf/device/vendor
> delete mode 100644 test/disk_tests/usages/sdf/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdf/sdf1/size
> delete mode 100644 test/disk_tests/usages/sdf/size
> delete mode 100644 test/disk_tests/usages/sdf_udevadm
> delete mode 100644 test/disk_tests/usages/sdg/device/vendor
> delete mode 100644 test/disk_tests/usages/sdg/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdg/size
> delete mode 100644 test/disk_tests/usages/sdg_udevadm
> delete mode 100644 test/disk_tests/usages/sdh/device/vendor
> delete mode 100644 test/disk_tests/usages/sdh/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdh/size
> delete mode 100644 test/disk_tests/usages/sdh_udevadm
> delete mode 100644 test/disk_tests/usages/sdi/device/vendor
> delete mode 100644 test/disk_tests/usages/sdi/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdi/size
> delete mode 100644 test/disk_tests/usages/sdi_udevadm
> delete mode 100644 test/disk_tests/usages/sdj/device/vendor
> delete mode 100644 test/disk_tests/usages/sdj/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdj/size
> delete mode 100644 test/disk_tests/usages/sdj_udevadm
> delete mode 100644 test/disk_tests/usages/sdk/device/vendor
> delete mode 100644 test/disk_tests/usages/sdk/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdk/size
> delete mode 100644 test/disk_tests/usages/sdk_udevadm
> delete mode 100644 test/disk_tests/usages/sdl/device/vendor
> delete mode 100644 test/disk_tests/usages/sdl/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdl/size
> delete mode 100644 test/disk_tests/usages/sdl_udevadm
> delete mode 100644 test/disk_tests/usages/sdm/device/vendor
> delete mode 100644 test/disk_tests/usages/sdm/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdm/sdm1/size
> delete mode 100644 test/disk_tests/usages/sdm/sdm9/size
> delete mode 100644 test/disk_tests/usages/sdm/size
> delete mode 100644 test/disk_tests/usages/sdm_udevadm
> delete mode 100644 test/disk_tests/usages/sdn/device/vendor
> delete mode 100644 test/disk_tests/usages/sdn/queue/rotational
> delete mode 100644 test/disk_tests/usages/sdn/size
> delete mode 100644 test/disk_tests/usages/sdn_udevadm
> delete mode 100644 test/disk_tests/usages/zpool
>
> diff --git a/test/disk_tests/cciss/cciss!c0d0/device/model b/test/disk_tests/cciss/cciss!c0d0/device/model
> deleted file mode 100644
> index 676b97d..0000000
> --- a/test/disk_tests/cciss/cciss!c0d0/device/model
> +++ /dev/null
> @@ -1 +0,0 @@
> -LOGICAL_VOLUME
> diff --git a/test/disk_tests/cciss/cciss!c0d0/device/vendor b/test/disk_tests/cciss/cciss!c0d0/device/vendor
> deleted file mode 100644
> index e8b2ad6..0000000
> --- a/test/disk_tests/cciss/cciss!c0d0/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -HP
> diff --git a/test/disk_tests/cciss/cciss!c0d0/queue/rotational b/test/disk_tests/cciss/cciss!c0d0/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/cciss/cciss!c0d0/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/cciss/cciss!c0d0/size b/test/disk_tests/cciss/cciss!c0d0/size
> deleted file mode 100644
> index f599e28..0000000
> --- a/test/disk_tests/cciss/cciss!c0d0/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -10
> diff --git a/test/disk_tests/cciss/cciss!c0d0_udevadm b/test/disk_tests/cciss/cciss!c0d0_udevadm
> deleted file mode 100644
> index 21e8899..0000000
> --- a/test/disk_tests/cciss/cciss!c0d0_udevadm
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -P: /devices/pci0000:40/0000:40:13.0/0000:45:00.0/cciss0/c0d0/block/cciss!c0d0
> -N: cciss/c0d0
> -S: disk/by-id/cciss-SERIAL111
> -S: disk/by-id/wwn-0x00000000000000000000000000000000
> -S: disk/by-path/pci-0000:45:00.0-cciss-disk0
> -E: DEVLINKS=/dev/disk/by-id/cciss-000000000000000000000000000000000 /dev/disk/by-id/wwn-0x000000000000000000000000000000000/dev/disk/by-path/pci-0000:45:00.0-cciss-disk0
> -E: DEVNAME=/dev/cciss/c0d0
> -E: DEVPATH=/devices/pci0000:40/0000:40:13.0/0000:45:00.0/cciss0/c0d0/block/cciss!c0d0
> -E: DEVTYPE=disk
> -E: ID_BUS=cciss
> -E: ID_MODEL=LOGICAL_VOLUME
> -E: ID_MODEL_ENC=LOGICAL\x20VOLUME\x20\x20
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=cfe72deb-65d1-487c-bdfa-8af66dc1a969
> -E: ID_PATH=pci-0000:45:00.0-cciss-disk0
> -E: ID_PATH_TAG=pci-0000_45_00_0-cciss-disk0
> -E: ID_REVISION=7.24
> -E: ID_SCSI=1
> -E: ID_SCSI_SERIAL=SERIAL1
> -E: ID_SERIAL=SERIAL111
> -E: ID_SERIAL_SHORT=SER111
> -E: ID_TYPE=disk
> -E: ID_VENDOR=HP
> -E: ID_VENDOR_ENC=HP\x20\x20\x20\x20\x20\x20
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_VENDOR_EXTENSION=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x00000000000000000000000000000000
> -E: MAJOR=104
> -E: MINOR=0
> -E: SUBSYSTEM=block
> -E: TAGS=:systemd:
> -E: USEC_INITIALIZED=2247
> diff --git a/test/disk_tests/cciss/disklist b/test/disk_tests/cciss/disklist
> deleted file mode 100644
> index aa174aa..0000000
> --- a/test/disk_tests/cciss/disklist
> +++ /dev/null
> @@ -1 +0,0 @@
> -cciss!c0d0
> diff --git a/test/disk_tests/cciss/disklist_expected.json b/test/disk_tests/cciss/disklist_expected.json
> deleted file mode 100644
> index eff58db..0000000
> --- a/test/disk_tests/cciss/disklist_expected.json
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -{
> - "cciss/c0d0" : {
> - "wearout" : "N/A",
> - "vendor" : "HP",
> - "rpm" : -1,
> - "type" : "unknown",
> - "serial" : "SER111",
> - "osdid" : -1,
> - "health" : "UNKNOWN",
> - "model" : "LOGICAL_VOLUME",
> - "size" : 5120,
> - "wwn" : "0x0000000000000000",
> - "gpt" : 1,
> - "devpath" : "/dev/cciss/c0d0"
> - }
> -}
> diff --git a/test/disk_tests/hdd_smart/disklist b/test/disk_tests/hdd_smart/disklist
> deleted file mode 100644
> index 9f6776c..0000000
> --- a/test/disk_tests/hdd_smart/disklist
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -sda
> -sdb
> diff --git a/test/disk_tests/hdd_smart/disklist_expected.json b/test/disk_tests/hdd_smart/disklist_expected.json
> deleted file mode 100644
> index 02a341e..0000000
> --- a/test/disk_tests/hdd_smart/disklist_expected.json
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -{
> - "sdb" : {
> - "devpath" : "/dev/sdb",
> - "size" : 1024000,
> - "gpt" : 1,
> - "osdid" : -1,
> - "rpm" : 7200,
> - "model" : "ST4000NM0033-9ZM170",
> - "vendor" : "ATA",
> - "health" : "PASSED",
> - "type" : "hdd",
> - "wwn" : "0x0000000000000000",
> - "wearout" : "N/A",
> - "serial" : "00000000"
> - },
> - "sda" : {
> - "osdid" : -1,
> - "size" : 1024000,
> - "gpt" : 1,
> - "devpath" : "/dev/sda",
> - "model" : "ST4000DM000-1F2168",
> - "rpm" : 5900,
> - "type" : "hdd",
> - "health" : "PASSED",
> - "vendor" : "ATA",
> - "serial" : "00000000",
> - "wearout" : "N/A",
> - "wwn" : "0x0000000000000000"
> - }
> -}
> diff --git a/test/disk_tests/hdd_smart/sda/device/vendor b/test/disk_tests/hdd_smart/sda/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/hdd_smart/sda/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/hdd_smart/sda/queue/rotational b/test/disk_tests/hdd_smart/sda/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/hdd_smart/sda/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/hdd_smart/sda/size b/test/disk_tests/hdd_smart/sda/size
> deleted file mode 100644
> index 8bd1af1..0000000
> --- a/test/disk_tests/hdd_smart/sda/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -2000
> diff --git a/test/disk_tests/hdd_smart/sda_health b/test/disk_tests/hdd_smart/sda_health
> deleted file mode 100644
> index faf4ce3..0000000
> --- a/test/disk_tests/hdd_smart/sda_health
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.4.21-1-pve] (local build)
> -Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF READ SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> diff --git a/test/disk_tests/hdd_smart/sda_smart b/test/disk_tests/hdd_smart/sda_smart
> deleted file mode 100644
> index a3f8f0a..0000000
> --- a/test/disk_tests/hdd_smart/sda_smart
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.4.21-1-pve] (local build)
> -Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF READ SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> -
> -SMART Attributes Data Structure revision number: 10
> -Vendor Specific SMART Attributes with Thresholds:
> -ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
> - 1 Raw_Read_Error_Rate POSR-- 117 099 006 - 158983656
> - 3 Spin_Up_Time PO---- 092 091 000 - 0
> - 4 Start_Stop_Count -O--CK 100 100 020 - 189
> - 5 Reallocated_Sector_Ct PO--CK 100 100 010 - 0
> - 7 Seek_Error_Rate POSR-- 075 060 030 - 30779387
> - 9 Power_On_Hours -O--CK 099 099 000 - 1250
> - 10 Spin_Retry_Count PO--C- 100 100 097 - 0
> - 12 Power_Cycle_Count -O--CK 100 100 020 - 190
> -183 Runtime_Bad_Block -O--CK 100 100 000 - 0
> -184 End-to-End_Error -O--CK 100 100 099 - 0
> -187 Reported_Uncorrect -O--CK 100 100 000 - 0
> -188 Command_Timeout -O--CK 100 100 000 - 0 0 0
> -189 High_Fly_Writes -O-RCK 100 100 000 - 0
> -190 Airflow_Temperature_Cel -O---K 069 061 045 - 31 (Min/Max 20/33)
> -191 G-Sense_Error_Rate -O--CK 100 100 000 - 0
> -192 Power-Off_Retract_Count -O--CK 100 100 000 - 43
> -193 Load_Cycle_Count -O--CK 100 100 000 - 201
> -194 Temperature_Celsius -O---K 031 040 000 - 31 (0 17 0 0 0)
> -197 Current_Pending_Sector -O--C- 100 100 000 - 0
> -198 Offline_Uncorrectable ----C- 100 100 000 - 0
> -199 UDMA_CRC_Error_Count -OSRCK 200 200 000 - 0
> -240 Head_Flying_Hours ------ 100 253 000 - 1259h+06m+33.546s
> -241 Total_LBAs_Written ------ 100 253 000 - 24013587236
> -242 Total_LBAs_Read ------ 100 253 000 - 66916845706732
> - ||||||_ K auto-keep
> - |||||__ C event count
> - ||||___ R error rate
> - |||____ S speed/performance
> - ||_____ O updated online
> - |______ P prefailure warning
> -
> diff --git a/test/disk_tests/hdd_smart/sda_smart_expected.json b/test/disk_tests/hdd_smart/sda_smart_expected.json
> deleted file mode 100644
> index 01bb860..0000000
> --- a/test/disk_tests/hdd_smart/sda_smart_expected.json
> +++ /dev/null
> @@ -1,246 +0,0 @@
> -{
> - "attributes" : [
> - {
> - "threshold" : 6,
> - "fail" : "-",
> - "flags" : "POSR--",
> - "value" : 117,
> - "id" : " 1",
> - "raw" : "158983656",
> - "name" : "Raw_Read_Error_Rate",
> - "worst" : 99
> - },
> - {
> - "flags" : "PO----",
> - "value" : 92,
> - "raw" : "0",
> - "name" : "Spin_Up_Time",
> - "worst" : 91,
> - "id" : " 3",
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "value" : 100,
> - "flags" : "-O--CK",
> - "id" : " 4",
> - "name" : "Start_Stop_Count",
> - "worst" : 100,
> - "raw" : "189",
> - "threshold" : 20,
> - "fail" : "-"
> - },
> - {
> - "value" : 100,
> - "flags" : "PO--CK",
> - "id" : " 5",
> - "name" : "Reallocated_Sector_Ct",
> - "worst" : 100,
> - "raw" : "0",
> - "threshold" : 10,
> - "fail" : "-"
> - },
> - {
> - "flags" : "POSR--",
> - "value" : 75,
> - "raw" : "30779387",
> - "worst" : 60,
> - "name" : "Seek_Error_Rate",
> - "id" : " 7",
> - "fail" : "-",
> - "threshold" : 30
> - },
> - {
> - "raw" : "1250",
> - "worst" : 99,
> - "name" : "Power_On_Hours",
> - "id" : " 9",
> - "flags" : "-O--CK",
> - "value" : 99,
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "value" : 100,
> - "flags" : "PO--C-",
> - "id" : " 10",
> - "name" : "Spin_Retry_Count",
> - "worst" : 100,
> - "raw" : "0",
> - "threshold" : 97,
> - "fail" : "-"
> - },
> - {
> - "flags" : "-O--CK",
> - "value" : 100,
> - "id" : " 12",
> - "raw" : "190",
> - "worst" : 100,
> - "name" : "Power_Cycle_Count",
> - "threshold" : 20,
> - "fail" : "-"
> - },
> - {
> - "threshold" : 0,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "value" : 100,
> - "id" : "183",
> - "raw" : "0",
> - "worst" : 100,
> - "name" : "Runtime_Bad_Block"
> - },
> - {
> - "fail" : "-",
> - "threshold" : 99,
> - "flags" : "-O--CK",
> - "value" : 100,
> - "raw" : "0",
> - "worst" : 100,
> - "name" : "End-to-End_Error",
> - "id" : "184"
> - },
> - {
> - "worst" : 100,
> - "name" : "Reported_Uncorrect",
> - "raw" : "0",
> - "id" : "187",
> - "value" : 100,
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "flags" : "-O--CK",
> - "value" : 100,
> - "raw" : "0 0 0",
> - "worst" : 100,
> - "name" : "Command_Timeout",
> - "id" : "188",
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "threshold" : 0,
> - "fail" : "-",
> - "flags" : "-O-RCK",
> - "value" : 100,
> - "id" : "189",
> - "raw" : "0",
> - "name" : "High_Fly_Writes",
> - "worst" : 100
> - },
> - {
> - "worst" : 61,
> - "name" : "Airflow_Temperature_Cel",
> - "raw" : "31 (Min/Max 20/33)",
> - "id" : "190",
> - "value" : 69,
> - "flags" : "-O---K",
> - "fail" : "-",
> - "threshold" : 45
> - },
> - {
> - "fail" : "-",
> - "threshold" : 0,
> - "worst" : 100,
> - "name" : "G-Sense_Error_Rate",
> - "raw" : "0",
> - "id" : "191",
> - "value" : 100,
> - "flags" : "-O--CK"
> - },
> - {
> - "id" : "192",
> - "raw" : "43",
> - "name" : "Power-Off_Retract_Count",
> - "worst" : 100,
> - "flags" : "-O--CK",
> - "value" : 100,
> - "threshold" : 0,
> - "fail" : "-"
> - },
> - {
> - "flags" : "-O--CK",
> - "value" : 100,
> - "raw" : "201",
> - "worst" : 100,
> - "name" : "Load_Cycle_Count",
> - "id" : "193",
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "fail" : "-",
> - "threshold" : 0,
> - "value" : 31,
> - "flags" : "-O---K",
> - "name" : "Temperature_Celsius",
> - "worst" : 40,
> - "raw" : "31 (0 17 0 0 0)",
> - "id" : "194"
> - },
> - {
> - "value" : 100,
> - "flags" : "-O--C-",
> - "id" : "197",
> - "worst" : 100,
> - "name" : "Current_Pending_Sector",
> - "raw" : "0",
> - "threshold" : 0,
> - "fail" : "-"
> - },
> - {
> - "worst" : 100,
> - "name" : "Offline_Uncorrectable",
> - "raw" : "0",
> - "id" : "198",
> - "value" : 100,
> - "flags" : "----C-",
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "threshold" : 0,
> - "fail" : "-",
> - "value" : 200,
> - "flags" : "-OSRCK",
> - "id" : "199",
> - "worst" : 200,
> - "name" : "UDMA_CRC_Error_Count",
> - "raw" : "0"
> - },
> - {
> - "raw" : "1259h+06m+33.546s",
> - "name" : "Head_Flying_Hours",
> - "worst" : 253,
> - "id" : "240",
> - "flags" : "------",
> - "value" : 100,
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "fail" : "-",
> - "threshold" : 0,
> - "name" : "Total_LBAs_Written",
> - "worst" : 253,
> - "raw" : "24013587236",
> - "id" : "241",
> - "value" : 100,
> - "flags" : "------"
> - },
> - {
> - "flags" : "------",
> - "value" : 100,
> - "id" : "242",
> - "raw" : "66916845706732",
> - "worst" : 253,
> - "name" : "Total_LBAs_Read",
> - "threshold" : 0,
> - "fail" : "-"
> - }
> - ],
> - "health" : "PASSED",
> - "type" : "ata"
> -}
> diff --git a/test/disk_tests/hdd_smart/sda_udevadm b/test/disk_tests/hdd_smart/sda_udevadm
> deleted file mode 100644
> index d9b5497..0000000
> --- a/test/disk_tests/hdd_smart/sda_udevadm
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -E: DEVNAME=/dev/sda
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=5900
> -E: ID_BUS=ata
> -E: ID_MODEL=ST4000DM000-1F2168
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=4f2e07a6-5437-2b4e-b6e8-9cba98639324
> -E: ID_SERIAL_SHORT=00000000
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/hdd_smart/sdb/device/vendor b/test/disk_tests/hdd_smart/sdb/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/hdd_smart/sdb/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/hdd_smart/sdb/queue/rotational b/test/disk_tests/hdd_smart/sdb/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/hdd_smart/sdb/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/hdd_smart/sdb/size b/test/disk_tests/hdd_smart/sdb/size
> deleted file mode 100644
> index 8bd1af1..0000000
> --- a/test/disk_tests/hdd_smart/sdb/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -2000
> diff --git a/test/disk_tests/hdd_smart/sdb_health b/test/disk_tests/hdd_smart/sdb_health
> deleted file mode 100644
> index faf4ce3..0000000
> --- a/test/disk_tests/hdd_smart/sdb_health
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.4.21-1-pve] (local build)
> -Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF READ SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> diff --git a/test/disk_tests/hdd_smart/sdb_smart b/test/disk_tests/hdd_smart/sdb_smart
> deleted file mode 100644
> index ce52bea..0000000
> --- a/test/disk_tests/hdd_smart/sdb_smart
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.4.10-1-pve] (local build)
> -Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF READ SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> -
> -SMART Attributes Data Structure revision number: 10
> -Vendor Specific SMART Attributes with Thresholds:
> -ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH FAIL RAW_VALUE
> - 1 Raw_Read_Error_Rate POSR-- 083 063 044 - 215697022
> - 3 Spin_Up_Time PO---- 092 091 000 - 0
> - 4 Start_Stop_Count -O--CK 100 100 020 - 265
> - 5 Reallocated_Sector_Ct PO--CK 100 100 010 - 0
> - 7 Seek_Error_Rate POSR-- 091 060 030 - 1572375006
> - 9 Power_On_Hours -O--CK 089 089 000 - 9885
> - 10 Spin_Retry_Count PO--C- 100 100 097 - 0
> - 12 Power_Cycle_Count -O--CK 100 100 020 - 265
> -184 End-to-End_Error -O--CK 100 100 099 - 0
> -187 Reported_Uncorrect -O--CK 100 100 000 - 0
> -188 Command_Timeout -O--CK 100 100 000 - 0
> -189 High_Fly_Writes -O--CK 100 100 000 - 0
> -190 Airflow_Temperature_Cel -O-RCK 045 036 045 NOW 55 (147 229 55 24 0)
> -191 G-Sense_Error_Rate -O---K 100 100 000 - 0
> -192 Power-Off_Retract_Count -O--CK 100 100 000 - 57
> -193 Load_Cycle_Count -O--CK 100 100 000 - 265
> -194 Temperature_Celsius -O--CK 055 064 000 - 55 (0 16 0 0 0)
> -195 Hardware_ECC_Recovered -O---K 023 013 000 - 215697022
> -197 Current_Pending_Sector -O--C- 100 100 000 - 0
> -198 Offline_Uncorrectable ----C- 100 100 000 - 0
> -199 UDMA_CRC_Error_Count -OSRCK 200 200 000 - 0
> - ||||||_ K auto-keep
> - |||||__ C event count
> - ||||___ R error rate
> - |||____ S speed/performance
> - ||_____ O updated online
> - |______ P prefailure warning
> diff --git a/test/disk_tests/hdd_smart/sdb_smart_expected.json b/test/disk_tests/hdd_smart/sdb_smart_expected.json
> deleted file mode 100644
> index 41e55fb..0000000
> --- a/test/disk_tests/hdd_smart/sdb_smart_expected.json
> +++ /dev/null
> @@ -1,216 +0,0 @@
> -{
> - "attributes" : [
> - {
> - "threshold" : 44,
> - "fail" : "-",
> - "id" : " 1",
> - "name" : "Raw_Read_Error_Rate",
> - "worst" : 63,
> - "raw" : "215697022",
> - "value" : 83,
> - "flags" : "POSR--"
> - },
> - {
> - "flags" : "PO----",
> - "value" : 92,
> - "id" : " 3",
> - "raw" : "0",
> - "worst" : 91,
> - "name" : "Spin_Up_Time",
> - "threshold" : 0,
> - "fail" : "-"
> - },
> - {
> - "fail" : "-",
> - "threshold" : 20,
> - "value" : 100,
> - "flags" : "-O--CK",
> - "worst" : 100,
> - "name" : "Start_Stop_Count",
> - "raw" : "265",
> - "id" : " 4"
> - },
> - {
> - "flags" : "PO--CK",
> - "value" : 100,
> - "id" : " 5",
> - "raw" : "0",
> - "name" : "Reallocated_Sector_Ct",
> - "worst" : 100,
> - "threshold" : 10,
> - "fail" : "-"
> - },
> - {
> - "id" : " 7",
> - "raw" : "1572375006",
> - "name" : "Seek_Error_Rate",
> - "worst" : 60,
> - "flags" : "POSR--",
> - "value" : 91,
> - "threshold" : 30,
> - "fail" : "-"
> - },
> - {
> - "raw" : "9885",
> - "name" : "Power_On_Hours",
> - "worst" : 89,
> - "id" : " 9",
> - "flags" : "-O--CK",
> - "value" : 89,
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "fail" : "-",
> - "threshold" : 97,
> - "value" : 100,
> - "flags" : "PO--C-",
> - "worst" : 100,
> - "name" : "Spin_Retry_Count",
> - "raw" : "0",
> - "id" : " 10"
> - },
> - {
> - "threshold" : 20,
> - "fail" : "-",
> - "id" : " 12",
> - "raw" : "265",
> - "name" : "Power_Cycle_Count",
> - "worst" : 100,
> - "flags" : "-O--CK",
> - "value" : 100
> - },
> - {
> - "name" : "End-to-End_Error",
> - "worst" : 100,
> - "raw" : "0",
> - "id" : "184",
> - "value" : 100,
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "threshold" : 99
> - },
> - {
> - "threshold" : 0,
> - "fail" : "-",
> - "id" : "187",
> - "raw" : "0",
> - "name" : "Reported_Uncorrect",
> - "worst" : 100,
> - "flags" : "-O--CK",
> - "value" : 100
> - },
> - {
> - "threshold" : 0,
> - "fail" : "-",
> - "id" : "188",
> - "raw" : "0",
> - "name" : "Command_Timeout",
> - "worst" : 100,
> - "flags" : "-O--CK",
> - "value" : 100
> - },
> - {
> - "fail" : "-",
> - "threshold" : 0,
> - "raw" : "0",
> - "worst" : 100,
> - "name" : "High_Fly_Writes",
> - "id" : "189",
> - "flags" : "-O--CK",
> - "value" : 100
> - },
> - {
> - "flags" : "-O-RCK",
> - "value" : 45,
> - "raw" : "55 (147 229 55 24 0)",
> - "worst" : 36,
> - "name" : "Airflow_Temperature_Cel",
> - "id" : "190",
> - "fail" : "NOW",
> - "threshold" : 45
> - },
> - {
> - "fail" : "-",
> - "threshold" : 0,
> - "raw" : "0",
> - "worst" : 100,
> - "name" : "G-Sense_Error_Rate",
> - "id" : "191",
> - "flags" : "-O---K",
> - "value" : 100
> - },
> - {
> - "threshold" : 0,
> - "fail" : "-",
> - "id" : "192",
> - "raw" : "57",
> - "worst" : 100,
> - "name" : "Power-Off_Retract_Count",
> - "flags" : "-O--CK",
> - "value" : 100
> - },
> - {
> - "fail" : "-",
> - "threshold" : 0,
> - "value" : 100,
> - "flags" : "-O--CK",
> - "name" : "Load_Cycle_Count",
> - "worst" : 100,
> - "raw" : "265",
> - "id" : "193"
> - },
> - {
> - "threshold" : 0,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "value" : 55,
> - "id" : "194",
> - "raw" : "55 (0 16 0 0 0)",
> - "name" : "Temperature_Celsius",
> - "worst" : 64
> - },
> - {
> - "threshold" : 0,
> - "fail" : "-",
> - "id" : "195",
> - "name" : "Hardware_ECC_Recovered",
> - "worst" : 13,
> - "raw" : "215697022",
> - "value" : 23,
> - "flags" : "-O---K"
> - },
> - {
> - "worst" : 100,
> - "name" : "Current_Pending_Sector",
> - "raw" : "0",
> - "id" : "197",
> - "value" : 100,
> - "flags" : "-O--C-",
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "worst" : 100,
> - "name" : "Offline_Uncorrectable",
> - "raw" : "0",
> - "id" : "198",
> - "value" : 100,
> - "flags" : "----C-",
> - "fail" : "-",
> - "threshold" : 0
> - },
> - {
> - "fail" : "-",
> - "threshold" : 0,
> - "value" : 200,
> - "flags" : "-OSRCK",
> - "worst" : 200,
> - "name" : "UDMA_CRC_Error_Count",
> - "raw" : "0",
> - "id" : "199"
> - }
> - ],
> - "type" : "ata",
> - "health" : "PASSED"
> -}
> diff --git a/test/disk_tests/hdd_smart/sdb_udevadm b/test/disk_tests/hdd_smart/sdb_udevadm
> deleted file mode 100644
> index 3bc3a57..0000000
> --- a/test/disk_tests/hdd_smart/sdb_udevadm
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -E: DEVNAME=/dev/sdb
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=7200
> -E: ID_BUS=ata
> -E: ID_MODEL=ST4000NM0033-9ZM170
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=4f2e07a6-5437-2b4e-b6e8-9cba98639324
> -E: ID_SERIAL_SHORT=00000000
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/nvme_smart/disklist b/test/disk_tests/nvme_smart/disklist
> deleted file mode 100644
> index d00b90e..0000000
> --- a/test/disk_tests/nvme_smart/disklist
> +++ /dev/null
> @@ -1 +0,0 @@
> -nvme0n1
> diff --git a/test/disk_tests/nvme_smart/disklist_expected.json b/test/disk_tests/nvme_smart/disklist_expected.json
> deleted file mode 100644
> index 4d1c92f..0000000
> --- a/test/disk_tests/nvme_smart/disklist_expected.json
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -{
> - "nvme0n1" : {
> - "wearout" : 69,
> - "vendor" : "unknown",
> - "size" : 512000,
> - "health" : "PASSED",
> - "serial" : "unknown",
> - "model" : "NVME MODEL 1",
> - "rpm" : 0,
> - "osdid" : -1,
> - "devpath" : "/dev/nvme0n1",
> - "gpt" : 0,
> - "wwn" : "unknown",
> - "type" : "nvme"
> - }
> -}
> diff --git a/test/disk_tests/nvme_smart/nvme0/model b/test/disk_tests/nvme_smart/nvme0/model
> deleted file mode 100644
> index 9bd6eba..0000000
> --- a/test/disk_tests/nvme_smart/nvme0/model
> +++ /dev/null
> @@ -1 +0,0 @@
> -NVME MODEL 1
> diff --git a/test/disk_tests/nvme_smart/nvme0_smart b/test/disk_tests/nvme_smart/nvme0_smart
> deleted file mode 100644
> index f371d5b..0000000
> --- a/test/disk_tests/nvme_smart/nvme0_smart
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.4.19-1-pve] (local build)
> -Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> -
> -SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)
> -Critical Warning: 0x00
> -Temperature: 32 Celsius
> -Available Spare: 100%
> -Available Spare Threshold: 10%
> -Percentage Used: 31%
> -Data Units Read: 1,299,288 [665 GB]
> -Data Units Written: 5,592,478 [2.86 TB]
> -Host Read Commands: 30,360,807
> -Host Write Commands: 470,356,196
> -Controller Busy Time: 12
> -Power Cycles: 98
> -Power On Hours: 687
> -Unsafe Shutdowns: 21
> -Media and Data Integrity Errors: 0
> -Error Information Log Entries: 0
> diff --git a/test/disk_tests/nvme_smart/nvme0n1/device b/test/disk_tests/nvme_smart/nvme0n1/device
> deleted file mode 120000
> index e890f3e..0000000
> --- a/test/disk_tests/nvme_smart/nvme0n1/device
> +++ /dev/null
> @@ -1 +0,0 @@
> -../nvme0
> \ No newline at end of file
> diff --git a/test/disk_tests/nvme_smart/nvme0n1/queue/rotational b/test/disk_tests/nvme_smart/nvme0n1/queue/rotational
> deleted file mode 100644
> index 573541a..0000000
> --- a/test/disk_tests/nvme_smart/nvme0n1/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -0
> diff --git a/test/disk_tests/nvme_smart/nvme0n1/size b/test/disk_tests/nvme_smart/nvme0n1/size
> deleted file mode 100644
> index 83b33d2..0000000
> --- a/test/disk_tests/nvme_smart/nvme0n1/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -1000
> diff --git a/test/disk_tests/nvme_smart/nvme0n1_smart_expected.json b/test/disk_tests/nvme_smart/nvme0n1_smart_expected.json
> deleted file mode 100644
> index af8eade..0000000
> --- a/test/disk_tests/nvme_smart/nvme0n1_smart_expected.json
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -{
> - "text" : "\nSMART/Health Information (NVMe Log 0x02, NSID 0xffffffff)\nCritical Warning: 0x00\nTemperature: 32 Celsius\nAvailable Spare: 100%\nAvailable Spare Threshold: 10%\nPercentage Used: 31%\nData Units Read: 1,299,288 [665 GB]\nData Units Written: 5,592,478 [2.86 TB]\nHost Read Commands: 30,360,807\nHost Write Commands: 470,356,196\nController Busy Time: 12\nPower Cycles: 98\nPower On Hours: 687\nUnsafe Shutdowns: 21\nMedia and Data Integrity Errors: 0\nError Information Log Entries: 0\n",
> - "health" : "PASSED",
> - "type" : "text",
> - "wearout": 69
> -}
> diff --git a/test/disk_tests/nvme_smart/nvme0n1_udevadm b/test/disk_tests/nvme_smart/nvme0n1_udevadm
> deleted file mode 100644
> index 36c78ce..0000000
> --- a/test/disk_tests/nvme_smart/nvme0n1_udevadm
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -
> -P: /devices/pci0000:00/0000:00:01.1/0000:02:00.0/nvme/nvme0/nvme0n1
> -N: nvme0n1
> -S: disk/by-id/lvm-pv-uuid-Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
> -E: DEVLINKS=/dev/disk/by-id/lvm-pv-uuid-Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
> -E: DEVNAME=/dev/nvme0n1
> -E: DEVPATH=/devices/pci0000:00/0000:00:01.1/0000:02:00.0/nvme/nvme0/nvme0n1
> -E: DEVTYPE=disk
> -E: ID_FS_TYPE=LVM2_member
> -E: ID_FS_USAGE=raid
> -E: ID_FS_UUID=Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
> -E: ID_FS_UUID_ENC=Py4eod-qfzj-i8Q3-Dxu6-xf0Q-H3Wr-w5Fo8V
> -E: ID_FS_VERSION=LVM2 001
> -E: MAJOR=259
> -E: MINOR=0
> -E: SUBSYSTEM=block
> -E: TAGS=:systemd:
> -E: USEC_INITIALIZED=3842
> diff --git a/test/disk_tests/sas/disklist b/test/disk_tests/sas/disklist
> deleted file mode 100644
> index 9191c61..0000000
> --- a/test/disk_tests/sas/disklist
> +++ /dev/null
> @@ -1 +0,0 @@
> -sda
> diff --git a/test/disk_tests/sas/disklist_expected.json b/test/disk_tests/sas/disklist_expected.json
> deleted file mode 100644
> index 39b14a5..0000000
> --- a/test/disk_tests/sas/disklist_expected.json
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -{
> - "sda" : {
> - "gpt" : 1,
> - "devpath" : "/dev/sda",
> - "type" : "unknown",
> - "model" : "MODEL1",
> - "health" : "UNKNOWN",
> - "osdid" : -1,
> - "wwn" : "0x0000000000000000",
> - "vendor" : "VENDOR1",
> - "rpm" : -1,
> - "size" : 5120000,
> - "serial" : "SER2",
> - "wearout" : "N/A",
> - "by_id_link" : "/dev/disk/by-id/scsi-00000000000000000"
> - }
> -}
> diff --git a/test/disk_tests/sas/sda/device/model b/test/disk_tests/sas/sda/device/model
> deleted file mode 100644
> index 6b69674..0000000
> --- a/test/disk_tests/sas/sda/device/model
> +++ /dev/null
> @@ -1 +0,0 @@
> -MODEL1
> diff --git a/test/disk_tests/sas/sda/device/vendor b/test/disk_tests/sas/sda/device/vendor
> deleted file mode 100644
> index a7894eb..0000000
> --- a/test/disk_tests/sas/sda/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -VENDOR1
> diff --git a/test/disk_tests/sas/sda/queue/rotational b/test/disk_tests/sas/sda/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/sas/sda/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/sas/sda/size b/test/disk_tests/sas/sda/size
> deleted file mode 100644
> index 5caff40..0000000
> --- a/test/disk_tests/sas/sda/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -10000
> diff --git a/test/disk_tests/sas/sda_smart b/test/disk_tests/sas/sda_smart
> deleted file mode 100644
> index 856af39..0000000
> --- a/test/disk_tests/sas/sda_smart
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -=== START OF READ SMART DATA SECTION ===
> -SMART Health Status: OK
> -
> -Percentage used endurance indicator: 0%
> -Current Drive Temperature: 20 C
> -Drive Trip Temperature: 70 C
> -
> -Manufactured in week 47 of year 2012
> -Specified cycle count over device lifetime: 0
> -Accumulated start-stop cycles: 0
> -Specified load-unload count over device lifetime: 0
> -Accumulated load-unload cycles: 0
> -Elements in grown defect list: 0
> -
> -Vendor (Seagate) cache information
> - Blocks sent to initiator = 1286675833552896
> -
> -Vendor (Seagate/Hitachi) factory information
> - number of hours powered up = 7127.12
> - number of minutes until next internal SMART test = 0
> diff --git a/test/disk_tests/sas/sda_smart_expected.json b/test/disk_tests/sas/sda_smart_expected.json
> deleted file mode 100644
> index 2964372..0000000
> --- a/test/disk_tests/sas/sda_smart_expected.json
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -{
> - "health" : "OK",
> - "text" : "\nPercentage used endurance indicator: 0%\nCurrent Drive Temperature: 20 C\nDrive Trip Temperature: 70 C\n\nManufactured in week 47 of year 2012\nSpecified cycle count over device lifetime: 0\nAccumulated start-stop cycles: 0\nSpecified load-unload count over device lifetime: 0\nAccumulated load-unload cycles: 0\nElements in grown defect list: 0\n\nVendor (Seagate) cache information\n Blocks sent to initiator = 1286675833552896\n\nVendor (Seagate/Hitachi) factory information\n number of hours powered up = 7127.12\n number of minutes until next internal SMART test = 0\n",
> - "type" : "text",
> - "wearout": 100
> -}
> diff --git a/test/disk_tests/sas/sda_udevadm b/test/disk_tests/sas/sda_udevadm
> deleted file mode 100644
> index ac0744d..0000000
> --- a/test/disk_tests/sas/sda_udevadm
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -P: /devices/pci0000:00/0000:00:03.0/0000:02:00.0/host4/port-4:0/end_device-4:0/target4:0:0/4:0:0:0/block/sda
> -N: sda
> -S: disk/by-id/scsi-00000000000000000
> -S: disk/by-id/wwn-0x0000000000000000
> -S: disk/by-path/pci-0000:02:00.0-sas-0x0000000000000000-lun-0
> -E: DEVLINKS=/dev/disk/by-id/scsi-00000000000000000 /dev/disk/by-id/wwn-0x0000000000000000 /dev/disk/by-path/pci-0000:02:00.0-sas-0x0000000000000000-lun-0
> -E: DEVNAME=/dev/sda
> -E: DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:02:00.0/host4/port-4:0/end_device-4:0/target4:0:0/4:0:0:0/block/sda
> -E: DEVTYPE=disk
> -E: ID_BUS=scsi
> -E: ID_MODEL=MODEL1
> -E: ID_MODEL_ENC=MODEL1\x20\x20\x20\x20\x20\x20
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=605740f0-44a1-4dc5-9fea-bde166df963e
> -E: ID_PATH=pci-0000:02:00.0-sas-0x0000000000000000-lun-0
> -E: ID_PATH_TAG=pci-0000_02_00_0-sas-0x0000000000000000-lun-0
> -E: ID_REVISION=ES64
> -E: ID_SCSI=1
> -E: ID_SCSI_SERIAL=SERIAL
> -E: ID_SERIAL=SERIAL2
> -E: ID_SERIAL_SHORT=SER2
> -E: ID_TYPE=disk
> -E: ID_VENDOR=VENDOR1
> -E: ID_VENDOR_ENC=VENDOR1\x20
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> -E: MAJOR=8
> -E: MINOR=0
> -E: SUBSYSTEM=block
> -E: TAGS=:systemd:
> -E: USEC_INITIALIZED=667541
> diff --git a/test/disk_tests/sas_ssd/disklist b/test/disk_tests/sas_ssd/disklist
> deleted file mode 100644
> index 9191c61..0000000
> --- a/test/disk_tests/sas_ssd/disklist
> +++ /dev/null
> @@ -1 +0,0 @@
> -sda
> diff --git a/test/disk_tests/sas_ssd/disklist_expected.json b/test/disk_tests/sas_ssd/disklist_expected.json
> deleted file mode 100644
> index dd9b748..0000000
> --- a/test/disk_tests/sas_ssd/disklist_expected.json
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -{
> - "sda" : {
> - "gpt" : 1,
> - "devpath" : "/dev/sda",
> - "type" : "ssd",
> - "model" : "MODEL1",
> - "health" : "OK",
> - "osdid" : -1,
> - "wwn" : "0x0000000000000000",
> - "vendor" : "VENDOR1",
> - "rpm" : 0,
> - "size" : 5120000,
> - "serial" : "SER2",
> - "wearout" : 100,
> - "by_id_link" : "/dev/disk/by-id/scsi-00000000000000000"
> - }
> -}
> diff --git a/test/disk_tests/sas_ssd/sda/device/model b/test/disk_tests/sas_ssd/sda/device/model
> deleted file mode 100644
> index 6b69674..0000000
> --- a/test/disk_tests/sas_ssd/sda/device/model
> +++ /dev/null
> @@ -1 +0,0 @@
> -MODEL1
> diff --git a/test/disk_tests/sas_ssd/sda/device/vendor b/test/disk_tests/sas_ssd/sda/device/vendor
> deleted file mode 100644
> index a7894eb..0000000
> --- a/test/disk_tests/sas_ssd/sda/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -VENDOR1
> diff --git a/test/disk_tests/sas_ssd/sda/queue/rotational b/test/disk_tests/sas_ssd/sda/queue/rotational
> deleted file mode 100644
> index 573541a..0000000
> --- a/test/disk_tests/sas_ssd/sda/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -0
> diff --git a/test/disk_tests/sas_ssd/sda/size b/test/disk_tests/sas_ssd/sda/size
> deleted file mode 100644
> index 5caff40..0000000
> --- a/test/disk_tests/sas_ssd/sda/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -10000
> diff --git a/test/disk_tests/sas_ssd/sda_smart b/test/disk_tests/sas_ssd/sda_smart
> deleted file mode 100644
> index 856af39..0000000
> --- a/test/disk_tests/sas_ssd/sda_smart
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -=== START OF READ SMART DATA SECTION ===
> -SMART Health Status: OK
> -
> -Percentage used endurance indicator: 0%
> -Current Drive Temperature: 20 C
> -Drive Trip Temperature: 70 C
> -
> -Manufactured in week 47 of year 2012
> -Specified cycle count over device lifetime: 0
> -Accumulated start-stop cycles: 0
> -Specified load-unload count over device lifetime: 0
> -Accumulated load-unload cycles: 0
> -Elements in grown defect list: 0
> -
> -Vendor (Seagate) cache information
> - Blocks sent to initiator = 1286675833552896
> -
> -Vendor (Seagate/Hitachi) factory information
> - number of hours powered up = 7127.12
> - number of minutes until next internal SMART test = 0
> diff --git a/test/disk_tests/sas_ssd/sda_smart_expected.json b/test/disk_tests/sas_ssd/sda_smart_expected.json
> deleted file mode 100644
> index 2964372..0000000
> --- a/test/disk_tests/sas_ssd/sda_smart_expected.json
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -{
> - "health" : "OK",
> - "text" : "\nPercentage used endurance indicator: 0%\nCurrent Drive Temperature: 20 C\nDrive Trip Temperature: 70 C\n\nManufactured in week 47 of year 2012\nSpecified cycle count over device lifetime: 0\nAccumulated start-stop cycles: 0\nSpecified load-unload count over device lifetime: 0\nAccumulated load-unload cycles: 0\nElements in grown defect list: 0\n\nVendor (Seagate) cache information\n Blocks sent to initiator = 1286675833552896\n\nVendor (Seagate/Hitachi) factory information\n number of hours powered up = 7127.12\n number of minutes until next internal SMART test = 0\n",
> - "type" : "text",
> - "wearout": 100
> -}
> diff --git a/test/disk_tests/sas_ssd/sda_udevadm b/test/disk_tests/sas_ssd/sda_udevadm
> deleted file mode 100644
> index ac0744d..0000000
> --- a/test/disk_tests/sas_ssd/sda_udevadm
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -P: /devices/pci0000:00/0000:00:03.0/0000:02:00.0/host4/port-4:0/end_device-4:0/target4:0:0/4:0:0:0/block/sda
> -N: sda
> -S: disk/by-id/scsi-00000000000000000
> -S: disk/by-id/wwn-0x0000000000000000
> -S: disk/by-path/pci-0000:02:00.0-sas-0x0000000000000000-lun-0
> -E: DEVLINKS=/dev/disk/by-id/scsi-00000000000000000 /dev/disk/by-id/wwn-0x0000000000000000 /dev/disk/by-path/pci-0000:02:00.0-sas-0x0000000000000000-lun-0
> -E: DEVNAME=/dev/sda
> -E: DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:02:00.0/host4/port-4:0/end_device-4:0/target4:0:0/4:0:0:0/block/sda
> -E: DEVTYPE=disk
> -E: ID_BUS=scsi
> -E: ID_MODEL=MODEL1
> -E: ID_MODEL_ENC=MODEL1\x20\x20\x20\x20\x20\x20
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=605740f0-44a1-4dc5-9fea-bde166df963e
> -E: ID_PATH=pci-0000:02:00.0-sas-0x0000000000000000-lun-0
> -E: ID_PATH_TAG=pci-0000_02_00_0-sas-0x0000000000000000-lun-0
> -E: ID_REVISION=ES64
> -E: ID_SCSI=1
> -E: ID_SCSI_SERIAL=SERIAL
> -E: ID_SERIAL=SERIAL2
> -E: ID_SERIAL_SHORT=SER2
> -E: ID_TYPE=disk
> -E: ID_VENDOR=VENDOR1
> -E: ID_VENDOR_ENC=VENDOR1\x20
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> -E: MAJOR=8
> -E: MINOR=0
> -E: SUBSYSTEM=block
> -E: TAGS=:systemd:
> -E: USEC_INITIALIZED=667541
> diff --git a/test/disk_tests/ssd_smart/disklist b/test/disk_tests/ssd_smart/disklist
> deleted file mode 100644
> index 18048d5..0000000
> --- a/test/disk_tests/ssd_smart/disklist
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -sda
> -sdb
> -sdc
> -sdd
> -sde
> diff --git a/test/disk_tests/ssd_smart/disklist_expected.json b/test/disk_tests/ssd_smart/disklist_expected.json
> deleted file mode 100644
> index d84b9dc..0000000
> --- a/test/disk_tests/ssd_smart/disklist_expected.json
> +++ /dev/null
> @@ -1,72 +0,0 @@
> -{
> - "sda" : {
> - "serial" : "000000000000",
> - "vendor" : "ATA",
> - "rpm" : 0,
> - "gpt" : 1,
> - "health" : "PASSED",
> - "wearout" : "100",
> - "osdid" : -1,
> - "size" : 512000,
> - "type" : "ssd",
> - "devpath" : "/dev/sda",
> - "model" : "Crucial_CT500MX200SSD1",
> - "wwn" : "0x0000000000000000"
> - },
> - "sdb" : {
> - "model" : "INTEL_SSDSC2BB080G6",
> - "devpath" : "/dev/sdb",
> - "osdid" : -1,
> - "type" : "ssd",
> - "size" : 512000,
> - "wwn" : "0x0000000000000000",
> - "gpt" : 1,
> - "rpm" : 0,
> - "vendor" : "ATA",
> - "serial" : "000000000000000000",
> - "wearout" : "97",
> - "health" : "PASSED"
> - },
> - "sdc" : {
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdc",
> - "model" : "Samsung SSD 850 PRO 512GB",
> - "osdid" : -1,
> - "type" : "ssd",
> - "size" : 512000,
> - "wearout" : "99",
> - "health" : "PASSED",
> - "gpt" : 1,
> - "rpm" : 0,
> - "vendor" : "ATA",
> - "serial" : "000000000000"
> - },
> - "sdd" : {
> - "rpm" : 0,
> - "gpt" : 1,
> - "serial" : "000000000000",
> - "vendor" : "ATA",
> - "wearout" : "100",
> - "health" : "PASSED",
> - "devpath" : "/dev/sdd",
> - "model" : "SanDisk SD8SB8U1T001122",
> - "size" : 512000,
> - "osdid" : -1,
> - "type" : "ssd",
> - "wwn" : "0x0000000000000000"
> - },
> - "sde" : {
> - "type" : "ssd",
> - "osdid" : -1,
> - "size" : 512000,
> - "model" : "KINGSTON SHFS37A120G",
> - "devpath" : "/dev/sde",
> - "wwn" : "0x0000000000000000",
> - "vendor" : "ATA",
> - "serial" : "000000000000",
> - "gpt" : 1,
> - "rpm" : 0,
> - "health" : "PASSED",
> - "wearout" : "91"
> - }
> -}
> diff --git a/test/disk_tests/ssd_smart/sda/device/vendor b/test/disk_tests/ssd_smart/sda/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/ssd_smart/sda/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/ssd_smart/sda/queue/rotational b/test/disk_tests/ssd_smart/sda/queue/rotational
> deleted file mode 100644
> index 573541a..0000000
> --- a/test/disk_tests/ssd_smart/sda/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -0
> diff --git a/test/disk_tests/ssd_smart/sda/size b/test/disk_tests/ssd_smart/sda/size
> deleted file mode 100644
> index 83b33d2..0000000
> --- a/test/disk_tests/ssd_smart/sda/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -1000
> diff --git a/test/disk_tests/ssd_smart/sda_smart b/test/disk_tests/ssd_smart/sda_smart
> deleted file mode 100644
> index 2857588..0000000
> --- a/test/disk_tests/ssd_smart/sda_smart
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.4.21-1-pve] (local build)
> -Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF READ SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> -
> -SMART Attributes Data Structure revision number: 16
> -Vendor Specific SMART Attributes with Thresholds:
> -ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
> - 1 Raw_Read_Error_Rate POSR-K 100 100 000 - 0
> - 5 Reallocate_NAND_Blk_Cnt -O--CK 100 100 010 - 0
> - 9 Power_On_Hours -O--CK 100 100 000 - 1309
> - 12 Power_Cycle_Count -O--CK 100 100 000 - 200
> -171 Program_Fail_Count -O--CK 100 100 000 - 0
> -172 Erase_Fail_Count -O--CK 100 100 000 - 0
> -173 Ave_Block-Erase_Count -O--CK 100 100 000 - 12
> -174 Unexpect_Power_Loss_Ct -O--CK 100 100 000 - 53
> -180 Unused_Reserve_NAND_Blk PO--CK 000 000 000 - 5565
> -183 SATA_Interfac_Downshift -O--CK 100 100 000 - 0
> -184 Error_Correction_Count -O--CK 100 100 000 - 0
> -187 Reported_Uncorrect -O--CK 100 100 000 - 0
> -194 Temperature_Celsius -O---K 068 054 000 - 32 (Min/Max 22/46)
> -196 Reallocated_Event_Count -O--CK 100 100 000 - 0
> -197 Current_Pending_Sector -O--CK 100 100 000 - 0
> -198 Offline_Uncorrectable ----CK 100 100 000 - 0
> -199 UDMA_CRC_Error_Count -O--CK 100 100 000 - 0
> -202 Percent_Lifetime_Used ----CK 100 100 001 - 0
> -206 Write_Error_Rate -OSR-- 100 100 000 - 0
> -210 Success_RAIN_Recov_Cnt -O--CK 100 100 000 - 0
> -246 Total_Host_Sector_Write -O--CK 100 100 000 - 6751830403
> -247 Host_Program_Page_Count -O--CK 100 100 000 - 211228065
> -248 Bckgnd_Program_Page_Cnt -O--CK 100 100 000 - 253276904
> - ||||||_ K auto-keep
> - |||||__ C event count
> - ||||___ R error rate
> - |||____ S speed/performance
> - ||_____ O updated online
> - |______ P prefailure warning
> -
> diff --git a/test/disk_tests/ssd_smart/sda_smart_expected.json b/test/disk_tests/ssd_smart/sda_smart_expected.json
> deleted file mode 100644
> index a71fab2..0000000
> --- a/test/disk_tests/ssd_smart/sda_smart_expected.json
> +++ /dev/null
> @@ -1,236 +0,0 @@
> -{
> - "type" : "ata",
> - "health" : "PASSED",
> - "attributes" : [
> - {
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "Raw_Read_Error_Rate",
> - "id" : " 1",
> - "flags" : "POSR-K",
> - "raw" : "0",
> - "fail" : "-",
> - "value" : 100
> - },
> - {
> - "worst" : 100,
> - "threshold" : 10,
> - "name" : "Reallocate_NAND_Blk_Cnt",
> - "id" : " 5",
> - "flags" : "-O--CK",
> - "raw" : "0",
> - "fail" : "-",
> - "value" : 100
> - },
> - {
> - "name" : "Power_On_Hours",
> - "threshold" : 0,
> - "worst" : 100,
> - "value" : 100,
> - "fail" : "-",
> - "raw" : "1309",
> - "flags" : "-O--CK",
> - "id" : " 9"
> - },
> - {
> - "threshold" : 0,
> - "name" : "Power_Cycle_Count",
> - "worst" : 100,
> - "raw" : "200",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "id" : " 12",
> - "value" : 100
> - },
> - {
> - "value" : 100,
> - "raw" : "0",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "id" : "171",
> - "threshold" : 0,
> - "name" : "Program_Fail_Count",
> - "worst" : 100
> - },
> - {
> - "value" : 100,
> - "id" : "172",
> - "raw" : "0",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "Erase_Fail_Count"
> - },
> - {
> - "threshold" : 0,
> - "name" : "Ave_Block-Erase_Count",
> - "worst" : 100,
> - "raw" : "12",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "id" : "173",
> - "value" : 100
> - },
> - {
> - "name" : "Unexpect_Power_Loss_Ct",
> - "threshold" : 0,
> - "worst" : 100,
> - "value" : 100,
> - "fail" : "-",
> - "raw" : "53",
> - "flags" : "-O--CK",
> - "id" : "174"
> - },
> - {
> - "raw" : "5565",
> - "flags" : "PO--CK",
> - "fail" : "-",
> - "id" : "180",
> - "value" : 0,
> - "threshold" : 0,
> - "name" : "Unused_Reserve_NAND_Blk",
> - "worst" : 0
> - },
> - {
> - "name" : "SATA_Interfac_Downshift",
> - "threshold" : 0,
> - "worst" : 100,
> - "fail" : "-",
> - "raw" : "0",
> - "flags" : "-O--CK",
> - "id" : "183",
> - "value" : 100
> - },
> - {
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "Error_Correction_Count",
> - "id" : "184",
> - "flags" : "-O--CK",
> - "raw" : "0",
> - "fail" : "-",
> - "value" : 100
> - },
> - {
> - "name" : "Reported_Uncorrect",
> - "threshold" : 0,
> - "worst" : 100,
> - "value" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "raw" : "0",
> - "id" : "187"
> - },
> - {
> - "worst" : 54,
> - "name" : "Temperature_Celsius",
> - "threshold" : 0,
> - "id" : "194",
> - "fail" : "-",
> - "flags" : "-O---K",
> - "raw" : "32 (Min/Max 22/46)",
> - "value" : 68
> - },
> - {
> - "raw" : "0",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "id" : "196",
> - "value" : 100,
> - "threshold" : 0,
> - "name" : "Reallocated_Event_Count",
> - "worst" : 100
> - },
> - {
> - "id" : "197",
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "raw" : "0",
> - "value" : 100,
> - "worst" : 100,
> - "name" : "Current_Pending_Sector",
> - "threshold" : 0
> - },
> - {
> - "threshold" : 0,
> - "name" : "Offline_Uncorrectable",
> - "worst" : 100,
> - "flags" : "----CK",
> - "raw" : "0",
> - "fail" : "-",
> - "id" : "198",
> - "value" : 100
> - },
> - {
> - "worst" : 100,
> - "name" : "UDMA_CRC_Error_Count",
> - "threshold" : 0,
> - "id" : "199",
> - "fail" : "-",
> - "raw" : "0",
> - "flags" : "-O--CK",
> - "value" : 100
> - },
> - {
> - "value" : 100,
> - "id" : "202",
> - "flags" : "----CK",
> - "raw" : "0",
> - "fail" : "-",
> - "worst" : 100,
> - "threshold" : 1,
> - "name" : "Percent_Lifetime_Used"
> - },
> - {
> - "name" : "Write_Error_Rate",
> - "threshold" : 0,
> - "worst" : 100,
> - "value" : 100,
> - "fail" : "-",
> - "raw" : "0",
> - "flags" : "-OSR--",
> - "id" : "206"
> - },
> - {
> - "name" : "Success_RAIN_Recov_Cnt",
> - "threshold" : 0,
> - "worst" : 100,
> - "fail" : "-",
> - "raw" : "0",
> - "flags" : "-O--CK",
> - "id" : "210",
> - "value" : 100
> - },
> - {
> - "value" : 100,
> - "id" : "246",
> - "fail" : "-",
> - "raw" : "6751830403",
> - "flags" : "-O--CK",
> - "worst" : 100,
> - "name" : "Total_Host_Sector_Write",
> - "threshold" : 0
> - },
> - {
> - "name" : "Host_Program_Page_Count",
> - "threshold" : 0,
> - "worst" : 100,
> - "fail" : "-",
> - "raw" : "211228065",
> - "flags" : "-O--CK",
> - "id" : "247",
> - "value" : 100
> - },
> - {
> - "value" : 100,
> - "fail" : "-",
> - "raw" : "253276904",
> - "flags" : "-O--CK",
> - "id" : "248",
> - "name" : "Bckgnd_Program_Page_Cnt",
> - "threshold" : 0,
> - "worst" : 100
> - }
> - ]
> -}
> diff --git a/test/disk_tests/ssd_smart/sda_udevadm b/test/disk_tests/ssd_smart/sda_udevadm
> deleted file mode 100644
> index 3290a13..0000000
> --- a/test/disk_tests/ssd_smart/sda_udevadm
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -E: DEVNAME=/dev/sda
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=Crucial_CT500MX200SSD1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_SERIAL=Crucial_CT500MX200SSD1_000000000000
> -E: ID_SERIAL_SHORT=000000000000
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -
> diff --git a/test/disk_tests/ssd_smart/sdb/device/vendor b/test/disk_tests/ssd_smart/sdb/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/ssd_smart/sdb/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/ssd_smart/sdb/queue/rotational b/test/disk_tests/ssd_smart/sdb/queue/rotational
> deleted file mode 100644
> index 573541a..0000000
> --- a/test/disk_tests/ssd_smart/sdb/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -0
> diff --git a/test/disk_tests/ssd_smart/sdb/size b/test/disk_tests/ssd_smart/sdb/size
> deleted file mode 100644
> index 83b33d2..0000000
> --- a/test/disk_tests/ssd_smart/sdb/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -1000
> diff --git a/test/disk_tests/ssd_smart/sdb_smart b/test/disk_tests/ssd_smart/sdb_smart
> deleted file mode 100644
> index 79eea84..0000000
> --- a/test/disk_tests/ssd_smart/sdb_smart
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.4.21-1-pve] (local build)
> -Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF READ SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> -
> -SMART Attributes Data Structure revision number: 1
> -Vendor Specific SMART Attributes with Thresholds:
> -ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
> - 5 Reallocated_Sector_Ct -O--CK 100 100 000 - 0
> - 9 Power_On_Hours -O--CK 100 100 000 - 1259
> - 12 Power_Cycle_Count -O--CK 100 100 000 - 191
> -170 Available_Reservd_Space PO--CK 100 100 010 - 0
> -171 Program_Fail_Count -O--CK 100 100 000 - 0
> -172 Erase_Fail_Count -O--CK 100 100 000 - 0
> -174 Unsafe_Shutdown_Count -O--CK 100 100 000 - 164
> -175 Power_Loss_Cap_Test PO--CK 100 100 010 - 5670 (1 343)
> -183 SATA_Downshift_Count -O--CK 100 100 000 - 0
> -184 End-to-End_Error PO--CK 100 100 090 - 0
> -187 Reported_Uncorrect -O--CK 100 100 000 - 0
> -190 Temperature_Case -O---K 072 071 000 - 28 (Min/Max 21/30)
> -192 Unsafe_Shutdown_Count -O--CK 100 100 000 - 164
> -194 Temperature_Internal -O---K 100 100 000 - 28
> -197 Current_Pending_Sector -O--C- 100 100 000 - 0
> -199 CRC_Error_Count -OSRCK 100 100 000 - 0
> -225 Host_Writes_32MiB -O--CK 100 100 000 - 296600
> -226 Workld_Media_Wear_Indic -O--CK 100 100 000 - 3747
> -227 Workld_Host_Reads_Perc -O--CK 100 100 000 - 0
> -228 Workload_Minutes -O--CK 100 100 000 - 75111
> -232 Available_Reservd_Space PO--CK 100 100 010 - 0
> -233 Media_Wearout_Indicator -O--CK 097 097 000 - 0
> -234 Thermal_Throttle -O--CK 100 100 000 - 0/0
> -241 Host_Writes_32MiB -O--CK 100 100 000 - 296600
> -242 Host_Reads_32MiB -O--CK 100 100 000 - 1207
> - ||||||_ K auto-keep
> - |||||__ C event count
> - ||||___ R error rate
> - |||____ S speed/performance
> - ||_____ O updated online
> - |______ P prefailure warning
> -
> diff --git a/test/disk_tests/ssd_smart/sdb_smart_expected.json b/test/disk_tests/ssd_smart/sdb_smart_expected.json
> deleted file mode 100644
> index 6f55c3e..0000000
> --- a/test/disk_tests/ssd_smart/sdb_smart_expected.json
> +++ /dev/null
> @@ -1,256 +0,0 @@
> -{
> - "health" : "PASSED",
> - "type" : "ata",
> - "attributes" : [
> - {
> - "name" : "Reallocated_Sector_Ct",
> - "threshold" : 0,
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "raw" : "0",
> - "id" : " 5",
> - "value" : 100
> - },
> - {
> - "worst" : 100,
> - "name" : "Power_On_Hours",
> - "threshold" : 0,
> - "id" : " 9",
> - "fail" : "-",
> - "raw" : "1259",
> - "flags" : "-O--CK",
> - "value" : 100
> - },
> - {
> - "value" : 100,
> - "id" : " 12",
> - "raw" : "191",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "Power_Cycle_Count"
> - },
> - {
> - "id" : "170",
> - "raw" : "0",
> - "flags" : "PO--CK",
> - "fail" : "-",
> - "value" : 100,
> - "worst" : 100,
> - "threshold" : 10,
> - "name" : "Available_Reservd_Space"
> - },
> - {
> - "threshold" : 0,
> - "name" : "Program_Fail_Count",
> - "worst" : 100,
> - "value" : 100,
> - "raw" : "0",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "id" : "171"
> - },
> - {
> - "worst" : 100,
> - "name" : "Erase_Fail_Count",
> - "threshold" : 0,
> - "id" : "172",
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "raw" : "0",
> - "value" : 100
> - },
> - {
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "Unsafe_Shutdown_Count",
> - "value" : 100,
> - "id" : "174",
> - "raw" : "164",
> - "flags" : "-O--CK",
> - "fail" : "-"
> - },
> - {
> - "value" : 100,
> - "fail" : "-",
> - "flags" : "PO--CK",
> - "raw" : "5670 (1 343)",
> - "id" : "175",
> - "name" : "Power_Loss_Cap_Test",
> - "threshold" : 10,
> - "worst" : 100
> - },
> - {
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "SATA_Downshift_Count",
> - "value" : 100,
> - "id" : "183",
> - "raw" : "0",
> - "flags" : "-O--CK",
> - "fail" : "-"
> - },
> - {
> - "worst" : 100,
> - "name" : "End-to-End_Error",
> - "threshold" : 90,
> - "value" : 100,
> - "id" : "184",
> - "fail" : "-",
> - "raw" : "0",
> - "flags" : "PO--CK"
> - },
> - {
> - "worst" : 100,
> - "name" : "Reported_Uncorrect",
> - "threshold" : 0,
> - "value" : 100,
> - "id" : "187",
> - "fail" : "-",
> - "raw" : "0",
> - "flags" : "-O--CK"
> - },
> - {
> - "worst" : 71,
> - "name" : "Temperature_Case",
> - "threshold" : 0,
> - "id" : "190",
> - "fail" : "-",
> - "raw" : "28 (Min/Max 21/30)",
> - "flags" : "-O---K",
> - "value" : 72
> - },
> - {
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "Unsafe_Shutdown_Count",
> - "value" : 100,
> - "id" : "192",
> - "raw" : "164",
> - "flags" : "-O--CK",
> - "fail" : "-"
> - },
> - {
> - "id" : "194",
> - "fail" : "-",
> - "raw" : "28",
> - "flags" : "-O---K",
> - "value" : 100,
> - "worst" : 100,
> - "name" : "Temperature_Internal",
> - "threshold" : 0
> - },
> - {
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "Current_Pending_Sector",
> - "value" : 100,
> - "id" : "197",
> - "raw" : "0",
> - "flags" : "-O--C-",
> - "fail" : "-"
> - },
> - {
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "CRC_Error_Count",
> - "value" : 100,
> - "id" : "199",
> - "flags" : "-OSRCK",
> - "raw" : "0",
> - "fail" : "-"
> - },
> - {
> - "worst" : 100,
> - "name" : "Host_Writes_32MiB",
> - "threshold" : 0,
> - "id" : "225",
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "raw" : "296600",
> - "value" : 100
> - },
> - {
> - "value" : 100,
> - "id" : "226",
> - "raw" : "3747",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "Workld_Media_Wear_Indic"
> - },
> - {
> - "worst" : 100,
> - "threshold" : 0,
> - "name" : "Workld_Host_Reads_Perc",
> - "id" : "227",
> - "raw" : "0",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "value" : 100
> - },
> - {
> - "threshold" : 0,
> - "name" : "Workload_Minutes",
> - "worst" : 100,
> - "raw" : "75111",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "id" : "228",
> - "value" : 100
> - },
> - {
> - "fail" : "-",
> - "raw" : "0",
> - "flags" : "PO--CK",
> - "id" : "232",
> - "value" : 100,
> - "name" : "Available_Reservd_Space",
> - "threshold" : 10,
> - "worst" : 100
> - },
> - {
> - "value" : 97,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "raw" : "0",
> - "id" : "233",
> - "name" : "Media_Wearout_Indicator",
> - "threshold" : 0,
> - "worst" : 97
> - },
> - {
> - "value" : 100,
> - "fail" : "-",
> - "raw" : "0/0",
> - "flags" : "-O--CK",
> - "id" : "234",
> - "name" : "Thermal_Throttle",
> - "threshold" : 0,
> - "worst" : 100
> - },
> - {
> - "worst" : 100,
> - "name" : "Host_Writes_32MiB",
> - "threshold" : 0,
> - "id" : "241",
> - "fail" : "-",
> - "raw" : "296600",
> - "flags" : "-O--CK",
> - "value" : 100
> - },
> - {
> - "value" : 100,
> - "id" : "242",
> - "fail" : "-",
> - "raw" : "1207",
> - "flags" : "-O--CK",
> - "worst" : 100,
> - "name" : "Host_Reads_32MiB",
> - "threshold" : 0
> - }
> - ]
> -}
> diff --git a/test/disk_tests/ssd_smart/sdb_udevadm b/test/disk_tests/ssd_smart/sdb_udevadm
> deleted file mode 100644
> index bb723c8..0000000
> --- a/test/disk_tests/ssd_smart/sdb_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdb
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=INTEL_SSDSC2BB080G6
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=21c18951-8568-488c-a2a8-24441eb4b165
> -E: ID_SERIAL=INTEL_SSDSC2BB080G6_000000000000000000
> -E: ID_SERIAL_SHORT=000000000000000000
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/ssd_smart/sdc/device/vendor b/test/disk_tests/ssd_smart/sdc/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/ssd_smart/sdc/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/ssd_smart/sdc/queue/rotational b/test/disk_tests/ssd_smart/sdc/queue/rotational
> deleted file mode 100644
> index 573541a..0000000
> --- a/test/disk_tests/ssd_smart/sdc/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -0
> diff --git a/test/disk_tests/ssd_smart/sdc/size b/test/disk_tests/ssd_smart/sdc/size
> deleted file mode 100644
> index 83b33d2..0000000
> --- a/test/disk_tests/ssd_smart/sdc/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -1000
> diff --git a/test/disk_tests/ssd_smart/sdc_smart b/test/disk_tests/ssd_smart/sdc_smart
> deleted file mode 100644
> index 927f6d2..0000000
> --- a/test/disk_tests/ssd_smart/sdc_smart
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.4.8-1-pve] (local build)
> -Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF READ SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> -
> -SMART Attributes Data Structure revision number: 1
> -Vendor Specific SMART Attributes with Thresholds:
> -ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
> -177 Wear_Leveling_Count PO--CK 099 099 000 - 34
> - ||||||_ K auto-keep
> - |||||__ C event count
> - ||||___ R error rate
> - |||____ S speed/performance
> - ||_____ O updated onlinie
> - |______ P prefailure warning
> diff --git a/test/disk_tests/ssd_smart/sdc_smart_expected.json b/test/disk_tests/ssd_smart/sdc_smart_expected.json
> deleted file mode 100644
> index f0cffcf..0000000
> --- a/test/disk_tests/ssd_smart/sdc_smart_expected.json
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -{
> - "type" : "ata",
> - "health" : "PASSED",
> - "attributes" : [
> - {
> - "value" : 99,
> - "fail" : "-",
> - "raw" : "34",
> - "flags" : "PO--CK",
> - "id" : "177",
> - "name" : "Wear_Leveling_Count",
> - "threshold" : 0,
> - "worst" : 99
> - }
> - ]
> -}
> diff --git a/test/disk_tests/ssd_smart/sdc_udevadm b/test/disk_tests/ssd_smart/sdc_udevadm
> deleted file mode 100644
> index 5adb3ef..0000000
> --- a/test/disk_tests/ssd_smart/sdc_udevadm
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -E: DEVNAME=/dev/sdc
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=Samsung SSD 850 PRO 512GB
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_SERIAL=SAMSUNG_00000000
> -E: ID_SERIAL_SHORT=000000000000
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -
> diff --git a/test/disk_tests/ssd_smart/sdd/device/vendor b/test/disk_tests/ssd_smart/sdd/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/ssd_smart/sdd/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/ssd_smart/sdd/queue/rotational b/test/disk_tests/ssd_smart/sdd/queue/rotational
> deleted file mode 100644
> index 573541a..0000000
> --- a/test/disk_tests/ssd_smart/sdd/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -0
> diff --git a/test/disk_tests/ssd_smart/sdd/size b/test/disk_tests/ssd_smart/sdd/size
> deleted file mode 100644
> index 83b33d2..0000000
> --- a/test/disk_tests/ssd_smart/sdd/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -1000
> diff --git a/test/disk_tests/ssd_smart/sdd_smart b/test/disk_tests/ssd_smart/sdd_smart
> deleted file mode 100644
> index 2ad16af..0000000
> --- a/test/disk_tests/ssd_smart/sdd_smart
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.4.19-1-pve] (local build)
> -Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF READ SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> -
> -SMART Attributes Data Structure revision number: 4
> -Vendor Specific SMART Attributes with Thresholds:
> -ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
> - 5 Reallocated_Sector_Ct -O--CK 100 100 --- - 0
> - 9 Power_On_Hours -O--CK 100 100 --- - 799
> - 12 Power_Cycle_Count -O--CK 100 100 --- - 92
> -165 Unknown_Attribute -O--CK 100 100 --- - 9699447
> -166 Unknown_Attribute -O--CK 100 100 --- - 1
> -167 Unknown_Attribute -O--CK 100 100 --- - 46
> -168 Unknown_Attribute -O--CK 100 100 --- - 5
> -169 Unknown_Attribute -O--CK 100 100 --- - 1079
> -170 Unknown_Attribute -O--CK 100 100 --- - 0
> -171 Unknown_Attribute -O--CK 100 100 --- - 0
> -172 Unknown_Attribute -O--CK 100 100 --- - 0
> -173 Unknown_Attribute -O--CK 100 100 --- - 1
> -174 Unknown_Attribute -O--CK 100 100 --- - 22
> -184 End-to-End_Error -O--CK 100 100 --- - 0
> -187 Reported_Uncorrect -O--CK 100 100 --- - 0
> -188 Command_Timeout -O--CK 100 100 --- - 0
> -194 Temperature_Celsius -O---K 073 064 --- - 27 (Min/Max 23/64)
> -199 UDMA_CRC_Error_Count -O--CK 100 100 --- - 0
> -230 Unknown_SSD_Attribute -O--CK 100 100 --- - 146029805602
> -232 Available_Reservd_Space PO--CK 100 100 004 - 100
> -233 Media_Wearout_Indicator -O--CK 100 100 --- - 1574
> -234 Unknown_Attribute -O--CK 100 100 --- - 2303
> -241 Total_LBAs_Written ----CK 253 253 --- - 2111
> -242 Total_LBAs_Read ----CK 253 253 --- - 1542
> -244 Unknown_Attribute -O--CK 000 100 --- - 0
> - ||||||_ K auto-keep
> - |||||__ C event count
> - ||||___ R error rate
> - |||____ S speed/performance
> - ||_____ O updated online
> - |______ P prefailure warning
> diff --git a/test/disk_tests/ssd_smart/sdd_smart_expected.json b/test/disk_tests/ssd_smart/sdd_smart_expected.json
> deleted file mode 100644
> index a85e7d7..0000000
> --- a/test/disk_tests/ssd_smart/sdd_smart_expected.json
> +++ /dev/null
> @@ -1,256 +0,0 @@
> -{
> - "attributes" : [
> - {
> - "id" : " 5",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "worst" : 100,
> - "raw" : "0",
> - "threshold" : 0,
> - "value" : 100,
> - "name" : "Reallocated_Sector_Ct"
> - },
> - {
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "id" : " 9",
> - "name" : "Power_On_Hours",
> - "threshold" : 0,
> - "value" : 100,
> - "raw" : "799"
> - },
> - {
> - "name" : "Power_Cycle_Count",
> - "raw" : "92",
> - "threshold" : 0,
> - "value" : 100,
> - "fail" : "-",
> - "worst" : 100,
> - "id" : " 12",
> - "flags" : "-O--CK"
> - },
> - {
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "id" : "165",
> - "name" : "Unknown_Attribute",
> - "threshold" : 0,
> - "value" : 100,
> - "raw" : "9699447"
> - },
> - {
> - "value" : 100,
> - "threshold" : 0,
> - "raw" : "1",
> - "name" : "Unknown_Attribute",
> - "flags" : "-O--CK",
> - "id" : "166",
> - "worst" : 100,
> - "fail" : "-"
> - },
> - {
> - "id" : "167",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "worst" : 100,
> - "raw" : "46",
> - "value" : 100,
> - "threshold" : 0,
> - "name" : "Unknown_Attribute"
> - },
> - {
> - "name" : "Unknown_Attribute",
> - "raw" : "5",
> - "value" : 100,
> - "threshold" : 0,
> - "fail" : "-",
> - "worst" : 100,
> - "id" : "168",
> - "flags" : "-O--CK"
> - },
> - {
> - "flags" : "-O--CK",
> - "id" : "169",
> - "worst" : 100,
> - "fail" : "-",
> - "value" : 100,
> - "threshold" : 0,
> - "raw" : "1079",
> - "name" : "Unknown_Attribute"
> - },
> - {
> - "raw" : "0",
> - "threshold" : 0,
> - "value" : 100,
> - "name" : "Unknown_Attribute",
> - "id" : "170",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "worst" : 100
> - },
> - {
> - "fail" : "-",
> - "worst" : 100,
> - "id" : "171",
> - "flags" : "-O--CK",
> - "name" : "Unknown_Attribute",
> - "raw" : "0",
> - "value" : 100,
> - "threshold" : 0
> - },
> - {
> - "name" : "Unknown_Attribute",
> - "raw" : "0",
> - "value" : 100,
> - "threshold" : 0,
> - "fail" : "-",
> - "worst" : 100,
> - "id" : "172",
> - "flags" : "-O--CK"
> - },
> - {
> - "name" : "Unknown_Attribute",
> - "threshold" : 0,
> - "value" : 100,
> - "raw" : "1",
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "id" : "173"
> - },
> - {
> - "name" : "Unknown_Attribute",
> - "value" : 100,
> - "threshold" : 0,
> - "raw" : "22",
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "id" : "174"
> - },
> - {
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "id" : "184",
> - "name" : "End-to-End_Error",
> - "value" : 100,
> - "threshold" : 0,
> - "raw" : "0"
> - },
> - {
> - "name" : "Reported_Uncorrect",
> - "value" : 100,
> - "threshold" : 0,
> - "raw" : "0",
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "id" : "187"
> - },
> - {
> - "name" : "Command_Timeout",
> - "raw" : "0",
> - "value" : 100,
> - "threshold" : 0,
> - "fail" : "-",
> - "worst" : 100,
> - "id" : "188",
> - "flags" : "-O--CK"
> - },
> - {
> - "threshold" : 0,
> - "value" : 73,
> - "raw" : "27 (Min/Max 23/64)",
> - "name" : "Temperature_Celsius",
> - "flags" : "-O---K",
> - "id" : "194",
> - "worst" : 64,
> - "fail" : "-"
> - },
> - {
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "id" : "199",
> - "name" : "UDMA_CRC_Error_Count",
> - "value" : 100,
> - "threshold" : 0,
> - "raw" : "0"
> - },
> - {
> - "name" : "Unknown_SSD_Attribute",
> - "threshold" : 0,
> - "value" : 100,
> - "raw" : "146029805602",
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "id" : "230"
> - },
> - {
> - "raw" : "100",
> - "value" : 100,
> - "threshold" : 4,
> - "name" : "Available_Reservd_Space",
> - "id" : "232",
> - "flags" : "PO--CK",
> - "fail" : "-",
> - "worst" : 100
> - },
> - {
> - "threshold" : 0,
> - "value" : 100,
> - "raw" : "1574",
> - "name" : "Media_Wearout_Indicator",
> - "flags" : "-O--CK",
> - "id" : "233",
> - "worst" : 100,
> - "fail" : "-"
> - },
> - {
> - "id" : "234",
> - "flags" : "-O--CK",
> - "fail" : "-",
> - "worst" : 100,
> - "raw" : "2303",
> - "value" : 100,
> - "threshold" : 0,
> - "name" : "Unknown_Attribute"
> - },
> - {
> - "fail" : "-",
> - "worst" : 253,
> - "id" : "241",
> - "flags" : "----CK",
> - "name" : "Total_LBAs_Written",
> - "raw" : "2111",
> - "value" : 253,
> - "threshold" : 0
> - },
> - {
> - "worst" : 253,
> - "fail" : "-",
> - "flags" : "----CK",
> - "id" : "242",
> - "name" : "Total_LBAs_Read",
> - "threshold" : 0,
> - "value" : 253,
> - "raw" : "1542"
> - },
> - {
> - "name" : "Unknown_Attribute",
> - "value" : 0,
> - "threshold" : 0,
> - "raw" : "0",
> - "worst" : 100,
> - "fail" : "-",
> - "flags" : "-O--CK",
> - "id" : "244"
> - }
> - ],
> - "type" : "ata",
> - "health" : "PASSED"
> -}
> diff --git a/test/disk_tests/ssd_smart/sdd_udevadm b/test/disk_tests/ssd_smart/sdd_udevadm
> deleted file mode 100644
> index d46a7d4..0000000
> --- a/test/disk_tests/ssd_smart/sdd_udevadm
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -E: DEVNAME=/dev/sdd
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=SanDisk SD8SB8U1T001122
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_SERIAL=SANDISK_00000000000
> -E: ID_SERIAL_SHORT=000000000000
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -
> diff --git a/test/disk_tests/ssd_smart/sde/device/vendor b/test/disk_tests/ssd_smart/sde/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/ssd_smart/sde/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/ssd_smart/sde/queue/rotational b/test/disk_tests/ssd_smart/sde/queue/rotational
> deleted file mode 100644
> index 573541a..0000000
> --- a/test/disk_tests/ssd_smart/sde/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -0
> diff --git a/test/disk_tests/ssd_smart/sde/size b/test/disk_tests/ssd_smart/sde/size
> deleted file mode 100644
> index 83b33d2..0000000
> --- a/test/disk_tests/ssd_smart/sde/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -1000
> diff --git a/test/disk_tests/ssd_smart/sde_smart b/test/disk_tests/ssd_smart/sde_smart
> deleted file mode 100644
> index f6f01d6..0000000
> --- a/test/disk_tests/ssd_smart/sde_smart
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.65-1-pve] (local build)
> -Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
> -
> -=== START OF READ SMART DATA SECTION ===
> -SMART overall-health self-assessment test result: PASSED
> -
> -SMART Attributes Data Structure revision number: 10
> -Vendor Specific SMART Attributes with Thresholds:
> -ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
> - 1 Raw_Read_Error_Rate -O--CK 120 120 050 - 0/0
> - 5 Retired_Block_Count PO--CK 100 100 003 - 0
> - 9 Power_On_Hours_and_Msec -O--CK 091 091 000 - 7963h+07m+54.620s
> - 12 Power_Cycle_Count -O--CK 099 099 000 - 1153
> -171 Program_Fail_Count -O-R-- 100 100 000 - 0
> -172 Erase_Fail_Count -O--CK 100 100 000 - 0
> -174 Unexpect_Power_Loss_Ct ----CK 000 000 000 - 113
> -177 Wear_Range_Delta ------ 000 000 000 - 1
> -181 Program_Fail_Count -O-R-- 100 100 000 - 0
> -182 Erase_Fail_Count -O--CK 100 100 000 - 0
> -187 Reported_Uncorrect -O--C- 100 100 000 - 0
> -189 Airflow_Temperature_Cel ------ 027 049 000 - 27 (Min/Max 2/49)
> -194 Temperature_Celsius -O---K 027 049 000 - 27 (Min/Max 2/49)
> -195 ECC_Uncorr_Error_Count --SRC- 120 120 000 - 0/0
> -196 Reallocated_Event_Count PO--CK 100 100 003 - 0
> -201 Unc_Soft_Read_Err_Rate --SRC- 120 120 000 - 0/0
> -204 Soft_ECC_Correct_Rate --SRC- 120 120 000 - 0/0
> -230 Life_Curve_Status PO--C- 100 100 000 - 100
> -231 SSD_Life_Left ------ 091 091 011 - 4294967296
> -233 SandForce_Internal -O--CK 000 000 000 - 6317
> -234 SandForce_Internal -O--CK 000 000 000 - 4252
> -241 Lifetime_Writes_GiB -O--CK 000 000 000 - 4252
> -242 Lifetime_Reads_GiB -O--CK 000 000 000 - 34599
> -244 Unknown_Attribute ------ 099 099 010 - 4063273
> - ||||||_ K auto-keep
> - |||||__ C event count
> - ||||___ R error rate
> - |||____ S speed/performance
> - ||_____ O updated online
> - |______ P prefailure warning
> -
> diff --git a/test/disk_tests/ssd_smart/sde_smart_expected.json b/test/disk_tests/ssd_smart/sde_smart_expected.json
> deleted file mode 100644
> index 1d45c1d..0000000
> --- a/test/disk_tests/ssd_smart/sde_smart_expected.json
> +++ /dev/null
> @@ -1,246 +0,0 @@
> -{
> - "health": "PASSED",
> - "type": "ata",
> - "attributes": [
> - {
> - "fail": "-",
> - "id": " 1",
> - "raw": "0/0",
> - "flags": "-O--CK",
> - "name": "Raw_Read_Error_Rate",
> - "threshold": 50,
> - "value": 120,
> - "worst": 120
> - },
> - {
> - "id": " 5",
> - "fail": "-",
> - "value": 100,
> - "worst": 100,
> - "threshold": 3,
> - "name": "Retired_Block_Count",
> - "flags": "PO--CK",
> - "raw": "0"
> - },
> - {
> - "fail": "-",
> - "id": " 9",
> - "raw": "7963h+07m+54.620s",
> - "flags": "-O--CK",
> - "worst": 91,
> - "value": 91,
> - "name": "Power_On_Hours_and_Msec",
> - "threshold": 0
> - },
> - {
> - "id": " 12",
> - "fail": "-",
> - "threshold": 0,
> - "name": "Power_Cycle_Count",
> - "worst": 99,
> - "value": 99,
> - "flags": "-O--CK",
> - "raw": "1153"
> - },
> - {
> - "flags": "-O-R--",
> - "raw": "0",
> - "worst": 100,
> - "value": 100,
> - "threshold": 0,
> - "name": "Program_Fail_Count",
> - "fail": "-",
> - "id": "171"
> - },
> - {
> - "fail": "-",
> - "id": "172",
> - "flags": "-O--CK",
> - "raw": "0",
> - "name": "Erase_Fail_Count",
> - "threshold": 0,
> - "worst": 100,
> - "value": 100
> - },
> - {
> - "fail": "-",
> - "id": "174",
> - "raw": "113",
> - "flags": "----CK",
> - "value": 0,
> - "worst": 0,
> - "threshold": 0,
> - "name": "Unexpect_Power_Loss_Ct"
> - },
> - {
> - "id": "177",
> - "fail": "-",
> - "value": 0,
> - "worst": 0,
> - "name": "Wear_Range_Delta",
> - "threshold": 0,
> - "flags": "------",
> - "raw": "1"
> - },
> - {
> - "flags": "-O-R--",
> - "raw": "0",
> - "threshold": 0,
> - "name": "Program_Fail_Count",
> - "worst": 100,
> - "value": 100,
> - "fail": "-",
> - "id": "181"
> - },
> - {
> - "threshold": 0,
> - "name": "Erase_Fail_Count",
> - "value": 100,
> - "worst": 100,
> - "flags": "-O--CK",
> - "raw": "0",
> - "id": "182",
> - "fail": "-"
> - },
> - {
> - "flags": "-O--C-",
> - "raw": "0",
> - "value": 100,
> - "worst": 100,
> - "threshold": 0,
> - "name": "Reported_Uncorrect",
> - "fail": "-",
> - "id": "187"
> - },
> - {
> - "value": 27,
> - "worst": 49,
> - "name": "Airflow_Temperature_Cel",
> - "threshold": 0,
> - "flags": "------",
> - "raw": "27 (Min/Max 2/49)",
> - "id": "189",
> - "fail": "-"
> - },
> - {
> - "threshold": 0,
> - "name": "Temperature_Celsius",
> - "worst": 49,
> - "value": 27,
> - "flags": "-O---K",
> - "raw": "27 (Min/Max 2/49)",
> - "id": "194",
> - "fail": "-"
> - },
> - {
> - "id": "195",
> - "fail": "-",
> - "worst": 120,
> - "value": 120,
> - "threshold": 0,
> - "name": "ECC_Uncorr_Error_Count",
> - "raw": "0/0",
> - "flags": "--SRC-"
> - },
> - {
> - "fail": "-",
> - "id": "196",
> - "raw": "0",
> - "flags": "PO--CK",
> - "threshold": 3,
> - "name": "Reallocated_Event_Count",
> - "value": 100,
> - "worst": 100
> - },
> - {
> - "value": 120,
> - "worst": 120,
> - "threshold": 0,
> - "name": "Unc_Soft_Read_Err_Rate",
> - "flags": "--SRC-",
> - "raw": "0/0",
> - "id": "201",
> - "fail": "-"
> - },
> - {
> - "raw": "0/0",
> - "flags": "--SRC-",
> - "value": 120,
> - "worst": 120,
> - "threshold": 0,
> - "name": "Soft_ECC_Correct_Rate",
> - "fail": "-",
> - "id": "204"
> - },
> - {
> - "value": 100,
> - "worst": 100,
> - "threshold": 0,
> - "name": "Life_Curve_Status",
> - "raw": "100",
> - "flags": "PO--C-",
> - "id": "230",
> - "fail": "-"
> - },
> - {
> - "id": "231",
> - "fail": "-",
> - "worst": 91,
> - "value": 91,
> - "name": "SSD_Life_Left",
> - "threshold": 11,
> - "flags": "------",
> - "raw": "4294967296"
> - },
> - {
> - "raw": "6317",
> - "flags": "-O--CK",
> - "name": "SandForce_Internal",
> - "threshold": 0,
> - "value": 0,
> - "worst": 0,
> - "fail": "-",
> - "id": "233"
> - },
> - {
> - "value": 0,
> - "worst": 0,
> - "name": "SandForce_Internal",
> - "threshold": 0,
> - "flags": "-O--CK",
> - "raw": "4252",
> - "id": "234",
> - "fail": "-"
> - },
> - {
> - "worst": 0,
> - "value": 0,
> - "name": "Lifetime_Writes_GiB",
> - "threshold": 0,
> - "flags": "-O--CK",
> - "raw": "4252",
> - "id": "241",
> - "fail": "-"
> - },
> - {
> - "flags": "-O--CK",
> - "raw": "34599",
> - "value": 0,
> - "worst": 0,
> - "threshold": 0,
> - "name": "Lifetime_Reads_GiB",
> - "fail": "-",
> - "id": "242"
> - },
> - {
> - "threshold": 10,
> - "name": "Unknown_Attribute",
> - "worst": 99,
> - "value": 99,
> - "flags": "------",
> - "raw": "4063273",
> - "id": "244",
> - "fail": "-"
> - }
> - ]
> -}
> diff --git a/test/disk_tests/ssd_smart/sde_udevadm b/test/disk_tests/ssd_smart/sde_udevadm
> deleted file mode 100644
> index 440c33a..0000000
> --- a/test/disk_tests/ssd_smart/sde_udevadm
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -E: DEVNAME=/dev/sde
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=KINGSTON SHFS37A120G
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_SERIAL=KINGSTON_00000000000
> -E: ID_SERIAL_SHORT=000000000000
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -
> diff --git a/test/disk_tests/usages/disklist b/test/disk_tests/usages/disklist
> deleted file mode 100644
> index 648bea5..0000000
> --- a/test/disk_tests/usages/disklist
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -sda
> -sdb
> -sdc
> -sdd
> -sde
> -sdf
> -sdg
> -sdh
> -sdi
> -sdj
> -sdk
> -sdl
> -sdm
> -sdn
> diff --git a/test/disk_tests/usages/disklist_expected.json b/test/disk_tests/usages/disklist_expected.json
> deleted file mode 100644
> index 93dc251..0000000
> --- a/test/disk_tests/usages/disklist_expected.json
> +++ /dev/null
> @@ -1,222 +0,0 @@
> -{
> - "sdf" : {
> - "gpt" : 1,
> - "rpm" : 0,
> - "size" : 1536000,
> - "type" : "hdd",
> - "osdencrypted": 0,
> - "osdid" : "444",
> - "bluestore" : "0",
> - "health" : "UNKNOWN",
> - "model" : "MODEL1",
> - "used" : "mounted",
> - "wearout" : "N/A",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdf",
> - "vendor" : "ATA",
> - "serial" : "SERIAL1"
> - },
> - "sde" : {
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sde",
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "health" : "UNKNOWN",
> - "rpm" : 0,
> - "size" : 1536000,
> - "gpt" : 1,
> - "osdid" : -1,
> - "type" : "hdd",
> - "model" : "MODEL1",
> - "used" : "Device Mapper",
> - "wearout" : "N/A"
> - },
> - "sdb" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdb",
> - "model" : "MODEL1",
> - "used" : "LVM",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 1,
> - "size" : 1536000,
> - "rpm" : 0,
> - "type" : "hdd",
> - "osdid" : -1
> - },
> - "sda" : {
> - "model" : "MODEL1",
> - "used" : "mounted",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 1,
> - "size" : 1536000,
> - "rpm" : 0,
> - "type" : "hdd",
> - "osdid" : -1,
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sda"
> - },
> - "sdc" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "devpath" : "/dev/sdc",
> - "wwn" : "0x0000000000000000",
> - "used" : "ZFS",
> - "wearout" : "N/A",
> - "model" : "MODEL1",
> - "health" : "UNKNOWN",
> - "type" : "hdd",
> - "osdid" : -1,
> - "gpt" : 1,
> - "rpm" : 0,
> - "size" : 1536000
> - },
> - "sdd" : {
> - "model" : "MODEL1",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "size" : 1536000,
> - "rpm" : 0,
> - "gpt" : 1,
> - "type" : "hdd",
> - "osdid" : -1,
> - "serial" : "SERIAL1",
> - "used": "ZFS",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdd"
> - },
> - "sdg" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdg",
> - "model" : "MODEL1",
> - "used" : "LVM",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 1,
> - "size" : 1536000,
> - "rpm" : 0,
> - "type" : "hdd",
> - "bluestore": 1,
> - "osdencrypted": 0,
> - "osdid" : 1
> - },
> - "sdh" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdh",
> - "model" : "MODEL1",
> - "used" : "LVM",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 1,
> - "journals": 1,
> - "size" : 1536000,
> - "rpm" : 0,
> - "type" : "hdd",
> - "osdid" : -1
> - },
> - "sdi" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdi",
> - "model" : "MODEL1",
> - "used" : "LVM",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 1,
> - "size" : 1536000,
> - "rpm" : 0,
> - "type" : "hdd",
> - "db": 1,
> - "osdid" : -1
> - },
> - "sdj" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdj",
> - "model" : "MODEL1",
> - "used" : "LVM",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 1,
> - "size" : 1536000,
> - "rpm" : 0,
> - "bluestore": 0,
> - "type" : "hdd",
> - "osdencrypted": 1,
> - "osdid" : 0
> - },
> - "sdk" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdk",
> - "model" : "MODEL1",
> - "used" : "LVM",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 1,
> - "size" : 1536000,
> - "rpm" : 0,
> - "bluestore": 0,
> - "type" : "hdd",
> - "osdencrypted": 0,
> - "osdid" : 230
> - },
> - "sdl" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdl",
> - "model" : "MODEL1",
> - "used" : "LVM",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 1,
> - "size" : 1536000,
> - "rpm" : 0,
> - "type" : "hdd",
> - "osdid" : -1
> - },
> - "sdm" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdm",
> - "model" : "MODEL1",
> - "used" : "ZFS",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 1,
> - "size" : 1536000,
> - "rpm" : 0,
> - "type" : "hdd",
> - "osdid" : -1
> - },
> - "sdn" : {
> - "serial" : "SERIAL1",
> - "vendor" : "ATA",
> - "wwn" : "0x0000000000000000",
> - "devpath" : "/dev/sdn",
> - "model" : "MODEL1",
> - "used" : "xfs",
> - "wearout" : "N/A",
> - "health" : "UNKNOWN",
> - "gpt" : 0,
> - "size" : 1536000,
> - "rpm" : 0,
> - "type" : "hdd",
> - "osdid" : -1
> - }
> -}
> diff --git a/test/disk_tests/usages/lsblk b/test/disk_tests/usages/lsblk
> deleted file mode 100644
> index 6a725ab..0000000
> --- a/test/disk_tests/usages/lsblk
> +++ /dev/null
> @@ -1,8 +0,0 @@
> -{
> - "blockdevices": [
> - {"path":"/dev/sdm", "parttype":null, "fstype":null},
> - {"path":"/dev/sdm1", "parttype":"6a898cc3-1dd2-11b2-99a6-080020736631", "fstype":"zfs_member"},
> - {"path":"/dev/sdm9", "parttype":"6a945a3b-1dd2-11b2-99a6-080020736631", "fstype":null},
> - {"path":"/dev/sdn", "parttype":null, "fstype":"xfs"}
> - ]
> -}
> diff --git a/test/disk_tests/usages/lvs b/test/disk_tests/usages/lvs
> deleted file mode 100644
> index 3720a80..0000000
> --- a/test/disk_tests/usages/lvs
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -/dev/sdg(0);osd-block-01234;ceph.osd_id=1
> -/dev/sdh(0);osd-journal-01234;ceph.osd_id=1
> -/dev/sdi(0);osd-db-01234;ceph.osd_id=1,dasdf
> -/dev/sdj(0);osd-data-01234;ceph.osd_id=0,asfd,ceph.encrypted=1
> -/dev/sdk(0);osd-data-231231;ceph.osd_id=230,ceph.fsid=test
> -/dev/sdl(0);osd-data-234132;ceph.osd_id=,bar
> diff --git a/test/disk_tests/usages/mounts b/test/disk_tests/usages/mounts
> deleted file mode 100644
> index f8c1cd3..0000000
> --- a/test/disk_tests/usages/mounts
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -/dev/sda /mountpoint1
> -/dev/sdf1 /var/lib/ceph/osd/ceph-444
> diff --git a/test/disk_tests/usages/partlist b/test/disk_tests/usages/partlist
> deleted file mode 100644
> index 43c1f68..0000000
> --- a/test/disk_tests/usages/partlist
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -sdd1
> -sdd2
> -sde1
> -sdf1
> -sdm1
> -sdm9
> diff --git a/test/disk_tests/usages/pvs b/test/disk_tests/usages/pvs
> deleted file mode 100644
> index 86ec3d4..0000000
> --- a/test/disk_tests/usages/pvs
> +++ /dev/null
> @@ -1,7 +0,0 @@
> - /dev/sdb
> - /dev/sdg
> - /dev/sdh
> - /dev/sdi
> - /dev/sdj
> - /dev/sdk
> - /dev/sdl
> diff --git a/test/disk_tests/usages/sda/device/vendor b/test/disk_tests/usages/sda/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sda/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sda/queue/rotational b/test/disk_tests/usages/sda/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sda/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sda/size b/test/disk_tests/usages/sda/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sda/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sda_udevadm b/test/disk_tests/usages/sda_udevadm
> deleted file mode 100644
> index ab04390..0000000
> --- a/test/disk_tests/usages/sda_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sda
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdb/device/vendor b/test/disk_tests/usages/sdb/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdb/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdb/queue/rotational b/test/disk_tests/usages/sdb/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdb/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdb/size b/test/disk_tests/usages/sdb/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdb/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdb_udevadm b/test/disk_tests/usages/sdb_udevadm
> deleted file mode 100644
> index ada1ca8..0000000
> --- a/test/disk_tests/usages/sdb_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdb
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdc/device/vendor b/test/disk_tests/usages/sdc/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdc/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdc/queue/rotational b/test/disk_tests/usages/sdc/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdc/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdc/size b/test/disk_tests/usages/sdc/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdc/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdc_udevadm b/test/disk_tests/usages/sdc_udevadm
> deleted file mode 100644
> index 42845f3..0000000
> --- a/test/disk_tests/usages/sdc_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdc
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdd/device/vendor b/test/disk_tests/usages/sdd/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdd/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdd/queue/rotational b/test/disk_tests/usages/sdd/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdd/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdd/sdd1/size b/test/disk_tests/usages/sdd/sdd1/size
> deleted file mode 100644
> index 83b33d2..0000000
> --- a/test/disk_tests/usages/sdd/sdd1/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -1000
> diff --git a/test/disk_tests/usages/sdd/sdd2/size b/test/disk_tests/usages/sdd/sdd2/size
> deleted file mode 100644
> index 8bd1af1..0000000
> --- a/test/disk_tests/usages/sdd/sdd2/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -2000
> diff --git a/test/disk_tests/usages/sdd/size b/test/disk_tests/usages/sdd/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdd/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdd_udevadm b/test/disk_tests/usages/sdd_udevadm
> deleted file mode 100644
> index 65e880f..0000000
> --- a/test/disk_tests/usages/sdd_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdd
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sde/device/vendor b/test/disk_tests/usages/sde/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sde/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sde/queue/rotational b/test/disk_tests/usages/sde/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sde/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sde/sde1/size b/test/disk_tests/usages/sde/sde1/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sde/sde1/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sde/size b/test/disk_tests/usages/sde/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sde/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sde_udevadm b/test/disk_tests/usages/sde_udevadm
> deleted file mode 100644
> index db77725..0000000
> --- a/test/disk_tests/usages/sde_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sde
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdf/device/vendor b/test/disk_tests/usages/sdf/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdf/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdf/queue/rotational b/test/disk_tests/usages/sdf/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdf/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdf/sdf1/size b/test/disk_tests/usages/sdf/sdf1/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdf/sdf1/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdf/size b/test/disk_tests/usages/sdf/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdf/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdf_udevadm b/test/disk_tests/usages/sdf_udevadm
> deleted file mode 100644
> index ad49acf..0000000
> --- a/test/disk_tests/usages/sdf_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdf
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdg/device/vendor b/test/disk_tests/usages/sdg/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdg/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdg/queue/rotational b/test/disk_tests/usages/sdg/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdg/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdg/size b/test/disk_tests/usages/sdg/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdg/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdg_udevadm b/test/disk_tests/usages/sdg_udevadm
> deleted file mode 100644
> index 6d40d35..0000000
> --- a/test/disk_tests/usages/sdg_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdg
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdh/device/vendor b/test/disk_tests/usages/sdh/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdh/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdh/queue/rotational b/test/disk_tests/usages/sdh/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdh/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdh/size b/test/disk_tests/usages/sdh/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdh/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdh_udevadm b/test/disk_tests/usages/sdh_udevadm
> deleted file mode 100644
> index 3ff1a9e..0000000
> --- a/test/disk_tests/usages/sdh_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdh
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdi/device/vendor b/test/disk_tests/usages/sdi/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdi/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdi/queue/rotational b/test/disk_tests/usages/sdi/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdi/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdi/size b/test/disk_tests/usages/sdi/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdi/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdi_udevadm b/test/disk_tests/usages/sdi_udevadm
> deleted file mode 100644
> index a9eae5e..0000000
> --- a/test/disk_tests/usages/sdi_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdi
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdj/device/vendor b/test/disk_tests/usages/sdj/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdj/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdj/queue/rotational b/test/disk_tests/usages/sdj/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdj/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdj/size b/test/disk_tests/usages/sdj/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdj/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdj_udevadm b/test/disk_tests/usages/sdj_udevadm
> deleted file mode 100644
> index 39d0cf3..0000000
> --- a/test/disk_tests/usages/sdj_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdj
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdk/device/vendor b/test/disk_tests/usages/sdk/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdk/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdk/queue/rotational b/test/disk_tests/usages/sdk/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdk/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdk/size b/test/disk_tests/usages/sdk/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdk/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdk_udevadm b/test/disk_tests/usages/sdk_udevadm
> deleted file mode 100644
> index 3baef2f..0000000
> --- a/test/disk_tests/usages/sdk_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdk
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdl/device/vendor b/test/disk_tests/usages/sdl/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdl/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdl/queue/rotational b/test/disk_tests/usages/sdl/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdl/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdl/size b/test/disk_tests/usages/sdl/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdl/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdl_udevadm b/test/disk_tests/usages/sdl_udevadm
> deleted file mode 100644
> index ead0622..0000000
> --- a/test/disk_tests/usages/sdl_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdl
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdm/device/vendor b/test/disk_tests/usages/sdm/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdm/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdm/queue/rotational b/test/disk_tests/usages/sdm/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdm/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdm/sdm1/size b/test/disk_tests/usages/sdm/sdm1/size
> deleted file mode 100644
> index 83b33d2..0000000
> --- a/test/disk_tests/usages/sdm/sdm1/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -1000
> diff --git a/test/disk_tests/usages/sdm/sdm9/size b/test/disk_tests/usages/sdm/sdm9/size
> deleted file mode 100644
> index 8bd1af1..0000000
> --- a/test/disk_tests/usages/sdm/sdm9/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -2000
> diff --git a/test/disk_tests/usages/sdm/size b/test/disk_tests/usages/sdm/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdm/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdm_udevadm b/test/disk_tests/usages/sdm_udevadm
> deleted file mode 100644
> index 9317b9f..0000000
> --- a/test/disk_tests/usages/sdm_udevadm
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -E: DEVNAME=/dev/sdm
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_PART_TABLE_TYPE=gpt
> -E: ID_PART_TABLE_UUID=8417b93f-eff9-4e8f-8d84-dc2e77fc07a2
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/sdn/device/vendor b/test/disk_tests/usages/sdn/device/vendor
> deleted file mode 100644
> index 531030d..0000000
> --- a/test/disk_tests/usages/sdn/device/vendor
> +++ /dev/null
> @@ -1 +0,0 @@
> -ATA
> diff --git a/test/disk_tests/usages/sdn/queue/rotational b/test/disk_tests/usages/sdn/queue/rotational
> deleted file mode 100644
> index d00491f..0000000
> --- a/test/disk_tests/usages/sdn/queue/rotational
> +++ /dev/null
> @@ -1 +0,0 @@
> -1
> diff --git a/test/disk_tests/usages/sdn/size b/test/disk_tests/usages/sdn/size
> deleted file mode 100644
> index 13de30f..0000000
> --- a/test/disk_tests/usages/sdn/size
> +++ /dev/null
> @@ -1 +0,0 @@
> -3000
> diff --git a/test/disk_tests/usages/sdn_udevadm b/test/disk_tests/usages/sdn_udevadm
> deleted file mode 100644
> index 5ec4a92..0000000
> --- a/test/disk_tests/usages/sdn_udevadm
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -E: DEVNAME=/dev/sdn
> -E: DEVTYPE=disk
> -E: ID_ATA_ROTATION_RATE_RPM=0
> -E: ID_BUS=ata
> -E: ID_MODEL=MODEL1
> -E: ID_SERIAL=SERIAL1
> -E: ID_SERIAL_SHORT=SERIAL1
> -E: ID_TYPE=disk
> -E: ID_FS_UUID=ab54fba8-48fe-4d37-bbe7-b403f94d3bed
> -E: ID_FS_UUID_ENC=ab54fba8-48fe-4d37-bbe7-b403f94d3bed
> -E: ID_FS_TYPE=xfs
> -E: ID_FS_USAGE=filesystem
> -E: ID_WWN=0x0000000000000000
> -E: ID_WWN_WITH_EXTENSION=0x0000000000000000
> diff --git a/test/disk_tests/usages/zpool b/test/disk_tests/usages/zpool
> deleted file mode 100644
> index 3431792..0000000
> --- a/test/disk_tests/usages/zpool
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -testpool 2.00T 1.00T 2.60T - 5% 28% 1.00x ONLINE -
> - /dev/sdc 3.62T 1.02T 2.60T - 5% 28%
> -log - - - - - -
> - /dev/sdd1 15.9G 2.79M 15.9G - 82% 0%
> -cache - - - - - -
> - /dev/sdd2 42.5G 36.2G 6.36G - 0% 85%
>
^ permalink raw reply [flat|nested] 7+ messages in thread