Author: aschnell
Date: Wed Mar 11 12:18:23 2009
New Revision: 56069
URL: http://svn.opensuse.org/viewcvs/yast?rev=56069&view=rev
Log:
- limit stripe number in combobox during creation of logical volumes by number
of physical volumes in volume group (bnc #482502)
Modified:
trunk/storage/package/yast2-storage.changes
trunk/storage/storage/src/include/ep-lib.ycp
trunk/storage/storage/src/include/ep-lvm-dialogs.ycp
trunk/storage/storage/src/include/ep-lvm-lib.ycp
Modified: trunk/storage/package/yast2-storage.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/package/yast2-storage.changes?rev=56069&r1=56068&r2=56069&view=diff
==============================================================================
--- trunk/storage/package/yast2-storage.changes (original)
+++ trunk/storage/package/yast2-storage.changes Wed Mar 11 12:18:23 2009
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Wed Mar 11 12:13:56 CET 2009 - aschnell@suse.de
+
+- limit stripe number in combobox during creation of logical
+ volumes by number of physical volumes in volume group (bnc
+ #482502)
+
+-------------------------------------------------------------------
Tue Mar 10 16:18:47 CET 2009 - aschnell@suse.de
- fixed resizing of mounted logical volumes (bnc #483845)
Modified: trunk/storage/storage/src/include/ep-lib.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-lib.ycp?rev=56069&r1=56068&r2=56069&view=diff
==============================================================================
--- trunk/storage/storage/src/include/ep-lib.ycp (original)
+++ trunk/storage/storage/src/include/ep-lib.ycp Wed Mar 11 12:18:23 2009
@@ -7,8 +7,10 @@
{
textdomain "storage";
+
boolean EpDeleteVolumeGroup(string device);
+
list<string> AddedToList(list<string> old, list<string> new)
{
return multiset::difference(sort(new), sort(old));
@@ -21,6 +23,21 @@
}
+ // Calculates the devices from the devices, devices_add and devices_rem entries
+ // in data.
+ list<string> MergeDevices(map data)
+ {
+ list<string> devices = sort((list<string>) data["devices"]:[]);
+ list<string> devices_add = sort((list<string>) data["devices_add"]:[]);
+ list<string> devices_rem = sort((list<string>) data["devices_rem"]:[]);
+
+ devices = multiset::union(devices, devices_add);
+ devices = multiset::difference(devices, devices_rem);
+
+ return devices;
+ }
+
+
/**
* Must be called before removing device.
*/
Modified: trunk/storage/storage/src/include/ep-lvm-dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-lvm-dialogs.ycp?rev=56069&r1=56068&r2=56069&view=diff
==============================================================================
--- trunk/storage/storage/src/include/ep-lvm-dialogs.ycp (original)
+++ trunk/storage/storage/src/include/ep-lvm-dialogs.ycp Wed Mar 11 12:18:23 2009
@@ -378,6 +378,7 @@
symbol what = (size_k == max_size_k) ? `max_size : `manual_size;
string name = data["name"]:"";
+ integer max_stripes = data["max_stripes"]:1;
integer stripes = data["stripes"]:1;
integer stripe_size = data["stripesize"]:64*1024;
@@ -398,7 +399,7 @@
)
)));
- list<term> stripes_list = maplist(integer i, Integer::RangeFrom(1, 9), {
+ list<term> stripes_list = maplist(integer i, Integer::RangeFrom(1, max_stripes + 1), {
return `item(`id(i), tostring(i));
});
Modified: trunk/storage/storage/src/include/ep-lvm-lib.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/include/ep-lvm-lib.ycp?rev=56069&r1=56068&r2=56069&view=diff
==============================================================================
--- trunk/storage/storage/src/include/ep-lvm-lib.ycp (original)
+++ trunk/storage/storage/src/include/ep-lvm-lib.ycp Wed Mar 11 12:18:23 2009
@@ -90,8 +90,7 @@
symbol Commit()
{
- list<string> devices_old = (list<string>) union(data["devices"]:[], data["devices_add"]:[]);
- devices_old = filter(string tmp, devices_old, { return !contains(data["devices_rem"]:[], tmp); });
+ list<string> devices_old = MergeDevices(data);
list<string> devices_new = data["devices_new"]:[];
list<string> devices_added = AddedToList(devices_old, devices_new);
@@ -207,6 +206,7 @@
data["vg_name"] = vg_name;
data["pesize"] = target_map[device, "pesize"]:0;
data["max_size_k"] = (target_map[device, "pe_free"]:0 * target_map[device, "pesize"]:0) / 1024;
+ data["max_stripes"] = size(MergeDevices((map) target_map[device]:$[]));
symbol Commit()
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org