Fix array status report takes disk individual temperature thresholds in consideration

This commit is contained in:
bergware
2016-10-29 09:23:56 +02:00
parent 003c0695d5
commit 3f62efe64c

View File

@@ -12,17 +12,18 @@
*/
?>
<?
$docroot = $docroot ?: @$_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp';
require_once "$docroot/webGui/include/Wrappers.php";
exec("wget -qO /dev/null 127.0.0.1:$(lsof -i -P -sTCP:LISTEN|grep -Pom1 '^emhttp.*:\K\d+')/update.htm?cmdStatus=apply");
$notify = "$docroot/webGui/scripts/notify";
$disks = parse_ini_file("/var/local/emhttp/disks.ini",true);
$var = parse_ini_file("/var/local/emhttp/var.ini");
$docroot = $docroot ?: @$_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp';
require_once "$docroot/webGui/include/Wrappers.php";
require_once "$docroot/webGui/include/CustomMerge.php";
$notify = "$docroot/webGui/scripts/notify";
$unraid = parse_plugin_cfg("dynamix",true);
$output = $unraid['notify']['report'];
$hot = $unraid['display']['hot'];
$max = $unraid['display']['max'];
$server = strtoupper($var['NAME']);
$data = [];
$parity = false;
@@ -96,14 +97,16 @@ function my_clock($time) {
}
function my_array(&$disk) {
global $data,$max,$hot,$error0,$error1,$error2,$error3;
global $data,$unraid,$error0,$error1,$error2,$error3;
$name = $disk['name'];
$hot = strlen($disk['hotTemp']) ? $disk['hotTemp'] : $unraid['display']['hot'];
$max = strlen($disk['maxTemp']) ? $disk['maxTemp'] : $unraid['display']['max'];
if (strpos($disk['status'],'_NP')!==false) return false;
$temp = $disk['temp'];
if ($temp>=$max) {
$fail = ' (disk is overheated';
$error0++;
} else if ($temp>=$hot) {
} elseif ($temp>=$hot) {
$fail = ' (disk is hot';
$error1++;
} else {
@@ -162,9 +165,9 @@ if ($mdResync>0) {
if ($var['sbSyncExit']!=0) {
$data[] = "Last check incomplete on ".my_time($sbSynced2).", finding $sbSyncErrs error".($sbSyncErrs==1?'.':'s.');
$data[] = "Error code: ".$var['sbSyncExit'];
} else if ($sbSynced==0) {
} elseif ($sbSynced==0) {
$data[] = "Parity has not been checked yet";
} else if ($sbSynced2>0) {
} elseif ($sbSynced2>0) {
if (strstr($var['mdResyncAction'],"recon")) {
$data[] = 'Parity or Data is invalid';
} else {