From d12c352af55a9e6bc3e686a56f26cd1310254512 Mon Sep 17 00:00:00 2001 From: doron1 <4199618+doron1@users.noreply.github.com> Date: Sun, 7 Feb 2021 15:10:05 +0200 Subject: [PATCH] Adapt spin down/up detection to Unraid ge 6.9.0 and SAS hdparm does not detect SAS drives power state correctly. Unraid 6.9.0 introduced "sdspin", which is the focal point for spin down detection. With SAS spindown plugin installed, sdspin correctly detects power state for all drives. --- .../plugins/ca.turbo/scripts/auto_turbo.php | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/source/ca.turbo/usr/local/emhttp/plugins/ca.turbo/scripts/auto_turbo.php b/source/ca.turbo/usr/local/emhttp/plugins/ca.turbo/scripts/auto_turbo.php index 0b8ddc4..0d007a0 100644 --- a/source/ca.turbo/usr/local/emhttp/plugins/ca.turbo/scripts/auto_turbo.php +++ b/source/ca.turbo/usr/local/emhttp/plugins/ca.turbo/scripts/auto_turbo.php @@ -77,12 +77,19 @@ function getDisks() { $validDisks = getDisks(); $totalSpunDown = 0; foreach ($validDisks as $disk) { - $result = shell_exec("hdparm -C /dev/{$disk['device']}"); - if ( $debug ) { - logger($result); - } - if ( ! strpos($result,"active") ) { - $totalSpunDown++; + if ( file_exists("/usr/local/sbin/sdspin") ) { + exec("/usr/local/sbin/sdspin /dev/{$disk['device']}",$out,$ret); + if ( $ret == 2 ) { + $totalSpunDown++; + } + } else { + $result = shell_exec("hdparm -C /dev/{$disk['device']}"); + if ( $debug ) { + logger($result); + } + if ( ! strpos($result,"active") ) { + $totalSpunDown++; + } } } if ( $debug ) { @@ -123,4 +130,4 @@ function getDisks() { @unlink($turboPaths['backgroundPID']); @unlink($turboPaths['status']); -?> \ No newline at end of file +?>