From fc7c0e05046e5b94ffbcde1380c6623b919a1f86 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Wed, 8 Nov 2017 09:01:58 +0100 Subject: [PATCH] (finally) fix #1099: return disklist correctly in get_disks, when called with a parameter 'cciss/cXdY', we replaced the '/' with '!' so that we can properly poll the information about it from /sys/block/ but we have to replace the '!' with '/' again in our result list, because the caller does not know anything about it and fails, because the original dev is not in the list Signed-off-by: Dominik Csapak --- PVE/Diskmanage.pm | 8 ++++++++ test/disk_tests/cciss/disklist_expected.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/PVE/Diskmanage.pm b/PVE/Diskmanage.pm index e1db2ae..23e5b13 100644 --- a/PVE/Diskmanage.pm +++ b/PVE/Diskmanage.pm @@ -456,6 +456,14 @@ sub get_disks { $used = 'ZFS' if $zfslist->{$devpath}; + # we replaced cciss/ with cciss! above + # but in the result we need cciss/ again + # because the caller might want to check the + # result again with the original parameter + if ($dev =~ m|^cciss!|) { + $dev =~ s|^cciss!|cciss/|; + } + $disklist->{$dev} = { vendor => $sysdata->{vendor}, model => $data->{model} || $sysdata->{model}, diff --git a/test/disk_tests/cciss/disklist_expected.json b/test/disk_tests/cciss/disklist_expected.json index 61f60bf..eff58db 100644 --- a/test/disk_tests/cciss/disklist_expected.json +++ b/test/disk_tests/cciss/disklist_expected.json @@ -1,5 +1,5 @@ { - "cciss!c0d0" : { + "cciss/c0d0" : { "wearout" : "N/A", "vendor" : "HP", "rpm" : -1,