mirror of
https://github.com/unraid/webgui.git
synced 2026-02-24 19:35:32 -06:00
Merge pull request #1524 from SimonFair/NVME-PowerState
NVME power state
This commit is contained in:
@@ -264,4 +264,36 @@ function my_preg_split($split, $text, $count=2) {
|
||||
function delete_file(...$file) {
|
||||
array_map('unlink',array_filter($file,'file_exists'));
|
||||
}
|
||||
function getnvmepowerstate($device) {
|
||||
$array=[] ;
|
||||
exec("nvme id-ctrl $device |grep -E 'ps |wctemp|cctemp'",$array,$error) ;
|
||||
foreach ($array as $line){
|
||||
$split = explode(":",$line) ;
|
||||
$check=str_replace(" ","",trim($split[0]));
|
||||
switch($check){
|
||||
case "wctemp":
|
||||
$return['wctemp'] = $split[1] - 273;
|
||||
break;
|
||||
case "cctemp":
|
||||
$return['cctemp'] = $split[1] - 273;
|
||||
break;
|
||||
case "ps0":
|
||||
case "ps1":
|
||||
case "ps2":
|
||||
case "ps3":
|
||||
case "ps4":
|
||||
case "ps5":
|
||||
$power = explode(" ",$split[2]) ;
|
||||
$return[$check] = $power[0];
|
||||
break;
|
||||
}
|
||||
}
|
||||
$powerstate = shell_exec("nvme get-feature $device -f 02");
|
||||
$powersplit = explode(":",$powerstate) ;
|
||||
$powerstate = substr(trim($powersplit[2]), -1) ;
|
||||
#get-feature:0x02 (Power Management), Current value:0x00000003)
|
||||
$return["powerstate"] = $powerstate;
|
||||
$return["powerstatevalue"] = $return['ps'.$return['powerstate']] ;
|
||||
return $return;
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -274,7 +274,11 @@ function array_online(&$disk, $fstype='') {
|
||||
default:
|
||||
$echo[] = "<td>".device_info($disk,true)."</td>";
|
||||
$echo[] = "<td>".device_desc($disk)."</td>";
|
||||
$echo[] = "<td>".my_temp(_var($disk,'temp','*'))."</td>";
|
||||
if ($disk['transport'] == "nvme") {
|
||||
$powerstate=getnvmepowerstate("/dev/".$disk['device']);
|
||||
$powerstatevalue="<br>PS: ".$powerstate['powerstatevalue']."(".$powerstate['powerstate'].")" ;
|
||||
} else $powerstatevalue = "" ;
|
||||
$echo[] = "<td>".my_temp(_var($disk,'temp','*')).$powerstatevalue."</td>";
|
||||
$echo[] = "<td><span class='diskio'>".my_diskio($data[0])."</span><span class='number'>".my_number(_var($disk,'numReads',0))."</span></td>";
|
||||
$echo[] = "<td><span class='diskio'>".my_diskio($data[1])."</span><span class='number'>".my_number(_var($disk,'numWrites',0))."</span></td>";
|
||||
$echo[] = "<td>".my_number(_var($disk,'numErrors',0))."</td>";
|
||||
|
||||
Reference in New Issue
Block a user