summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2016-04-23 02:52:09 -0500
committerChris Buechler <cmb@pfsense.org>2016-04-23 02:52:09 -0500
commitdf5c2c73cee730192fa05fd31d270172f70baa91 (patch)
treec980b949bf0f67febb020d90e88b7efa2c4ec5df /src/usr
parentfe86a6630336536fe8d49047793868516711d960 (diff)
downloadpfsense-df5c2c73cee730192fa05fd31d270172f70baa91.zip
pfsense-df5c2c73cee730192fa05fd31d270172f70baa91.tar.gz
Add Hyper-V support to system_identify_specific_platform, and disable S.M.A.R.T. actions in Hyper-V guests. Ticket #6147
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/local/www/diag_smart.php7
-rw-r--r--src/usr/local/www/widgets/widgets/smart_status.widget.php9
2 files changed, 15 insertions, 1 deletions
diff --git a/src/usr/local/www/diag_smart.php b/src/usr/local/www/diag_smart.php
index 1bb0a37..baeef54 100644
--- a/src/usr/local/www/diag_smart.php
+++ b/src/usr/local/www/diag_smart.php
@@ -126,6 +126,13 @@ $tab_array[0] = array(htmlspecialchars(gettext("Information & Tests")), ($action
$tab_array[1] = array(gettext("Config"), ($action == 'config'), $_SERVER['PHP_SELF'] . "?action=config");
display_top_tabs($tab_array);
+$specplatform = system_identify_specific_platform();
+if ($specplatform['name'] == "Hyper-V") {
+ echo gettext("S.M.A.R.T. is not supported in Hyper-V guests.");
+ include("foot.inc");
+ exit;
+}
+
switch ($action) {
// Testing devices
case 'test':
diff --git a/src/usr/local/www/widgets/widgets/smart_status.widget.php b/src/usr/local/www/widgets/widgets/smart_status.widget.php
index c55d39a..16beb40 100644
--- a/src/usr/local/www/widgets/widgets/smart_status.widget.php
+++ b/src/usr/local/www/widgets/widgets/smart_status.widget.php
@@ -61,6 +61,11 @@ require_once("guiconfig.inc");
require_once("pfsense-utils.inc");
require_once("functions.inc");
require_once("/usr/local/www/widgets/include/smart_status.inc");
+
+$specplatform = system_identify_specific_platform();
+if ($specplatform['name'] == "Hyper-V") {
+ exit;
+}
?>
<table class="table table-striped table-hover">
@@ -76,7 +81,9 @@ require_once("/usr/local/www/widgets/include/smart_status.inc");
<?php
$devs = array();
## Get all adX, daX, and adaX (IDE, SCSI, and AHCI) devices currently installed
-$devs = get_smart_drive_list();
+if ($specplatform['name'] != "Hyper-V") {
+ $devs = get_smart_drive_list();
+}
if (count($devs) > 0) {
foreach ($devs as $dev) { ## for each found drive do
OpenPOWER on IntegriCloud