From b9845e1a3b08dff0c48ff0f0bc664be80932a899 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Tue, 7 Nov 2017 11:39:16 -0800 Subject: [PATCH] Permit navigation to active volumes where device is physically missing and being emulated. --- plugins/dynamix/include/DeviceList.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/plugins/dynamix/include/DeviceList.php b/plugins/dynamix/include/DeviceList.php index 9e3a26c69..a54717aa4 100644 --- a/plugins/dynamix/include/DeviceList.php +++ b/plugins/dynamix/include/DeviceList.php @@ -57,7 +57,10 @@ function device_info(&$disk,$online) { case 'grey-off': $help = 'Device not present'; break; } $status = "$ctrl$help"; - $link = (strcmp($disk['status'], 'DISK_NP')!=0 || $disk['name']=="cache") ? "".$fancyname."" : $fancyname; + $link = ($disk['type']=='Parity' && strpos($disk['status'],'_NP')===false) || + ($disk['type']=='Data' && $disk['status']!='DISK_NP') || + ($disk['type']=='Cache' && $disk['status']!='DISK_NP') || + ($disk['name']=='cache') ? "".$fancyname."" : $fancyname; if ($crypto && $online) switch ($disk['luksState']) { case 0: $luks = ""; break; case 1: $luks = "Device encrypted and unlocked"; break; @@ -183,14 +186,16 @@ function array_offline(&$disk) { } function array_online(&$disk) { global $sum, $diskio; - $dev = $disk['device']; - $data = explode(' ',$diskio[$dev] ?? ''); + if ($disk['device']!='') { + $dev = $disk['device']; + $data = explode(' ',$diskio[$dev] ?? ''); + $sum['ioReads'] += $data[0]; + $sum['ioWrites'] += $data[1]; + } if (is_numeric($disk['temp'])) { $sum['count']++; $sum['temp'] += $disk['temp']; } - $sum['ioReads'] += $data[0]; - $sum['ioWrites'] += $data[1]; $sum['numReads'] += $disk['numReads']; $sum['numWrites'] += $disk['numWrites']; $sum['numErrors'] += $disk['numErrors'];