Author: aschnell
Date: Mon Oct 10 15:18:27 2011
New Revision: 66361
URL: http://svn.opensuse.org/viewcvs/yast?rev=66361&view=rev
Log:
- disable call of smartctl for certain RAIDs (bnc#720956)
Modified:
trunk/storage/package/yast2-storage.changes
trunk/storage/storage/src/include/ep-hd.ycp
Modified: trunk/storage/package/yast2-storage.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/package/yast2-storage.changes?rev=66361&r1=66360&r2=66361&view=diff
==============================================================================
--- trunk/storage/package/yast2-storage.changes (original)
+++ trunk/storage/package/yast2-storage.changes Mon Oct 10 15:18:27 2011
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Mon Oct 10 15:05:41 CEST 2011 - aschnell@suse.de
+
+- disable call of smartctl for certain RAIDs (bnc#720956)
+
+-------------------------------------------------------------------
Thu Oct 6 12:36:26 CEST 2011 - fehr@suse.de
- version 2.21.8
Modified: trunk/storage/storage/src/include/ep-hd.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-hd.ycp?rev=66361&r1=66360&r2=66361&view=diff
==============================================================================
--- trunk/storage/storage/src/include/ep-hd.ycp (original)
+++ trunk/storage/storage/src/include/ep-hd.ycp Mon Oct 10 15:18:27 2011
@@ -242,6 +242,39 @@
}
+ boolean DiskMaySupportSmart(string disk_device)
+ {
+ if (String::StartsWith(disk_device, "/dev/dasd"))
+ return false;
+
+ map target_map = Storage::GetTargetMap();
+ map disk = target_map[disk_device]:$[];
+
+ if (disk["type"]:`CT_UNKNOWN != `CT_DISK)
+ return false;
+
+ if (contains([ "3w-9xxx" ], disk["driver"]:""))
+ return false;
+
+ return true;
+ }
+
+
+ boolean DiskMaySupportHdparm(string disk_device)
+ {
+ if (String::StartsWith(disk_device, "/dev/dasd"))
+ return false;
+
+ map target_map = Storage::GetTargetMap();
+ map disk = target_map[disk_device]:$[];
+
+ if (disk["type"]:`CT_UNKNOWN != `CT_DISK)
+ return false;
+
+ return true;
+ }
+
+
void HandleHdDiskOverviewTab(any user_data, map event)
{
string disk_device = (string) user_data;
@@ -250,27 +283,19 @@
{
case `smart:
{
- map target_map = Storage::GetTargetMap();
- map disk = target_map[disk_device]:$[];
- if (disk["type"]:`CT_UNKNOWN != `CT_DISK || substring(disk_device, 0, 9) == "/dev/dasd")
- {
+ if (!DiskMaySupportSmart(disk_device))
Popup::Error(_("SMART is not available for this disk."));
- break;
- }
- DisplayCommandOutput(sformat("/usr/sbin/smartctl --health '%1'", disk_device));
+ else
+ DisplayCommandOutput(sformat("/usr/sbin/smartctl --health '%1'", disk_device));
break;
}
case `hdparm:
{
- map target_map = Storage::GetTargetMap();
- map disk = target_map[disk_device]:$[];
- if (disk["type"]:`CT_UNKNOWN != `CT_DISK || substring(disk_device, 0, 9) == "/dev/dasd")
- {
+ if (!DiskMaySupportHdparm(disk_device))
Popup::Error(_("hdparm is not available for this disk."));
- break;
- }
- DisplayCommandOutput(sformat("/sbin/hdparm -aAgr '%1'", disk_device));
+ else
+ DisplayCommandOutput(sformat("/sbin/hdparm -aAgr '%1'", disk_device));
break;
}
}
@@ -325,7 +350,7 @@
`Table(`id(`table), `opt(`keepSorting, `notify, `notifyContextMenu),
table_header, table_contents),
`HBox(
- ArrangeButtons(flatten([
+ ArrangeButtons(flatten([
[ // push button text
`PushButton(`id(`add),`opt(`key_F3), _("Add...")) ],
HdButtons(),
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org