Author: mzugec
Date: Thu Jan 14 17:54:30 2010
New Revision: 60382
URL: http://svn.opensuse.org/viewcvs/yast?rev=60382&view=rev
Log:
NetworkStorage: adapt functions needed for iBFT (bnc#551380)
Modified:
trunk/yast2/VERSION
trunk/yast2/library/network/src/NetworkStorage.ycp
trunk/yast2/package/yast2.changes
Modified: trunk/yast2/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/VERSION?rev=60382&r1=60381&r2=60382&view=diff
==============================================================================
--- trunk/yast2/VERSION (original)
+++ trunk/yast2/VERSION Thu Jan 14 17:54:30 2010
@@ -1 +1 @@
-2.19.2
+2.19.3
Modified: trunk/yast2/library/network/src/NetworkStorage.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/network/src/NetworkStorage.ycp?rev=60382&r1=60381&r2=60382&view=diff
==============================================================================
--- trunk/yast2/library/network/src/NetworkStorage.ycp (original)
+++ trunk/yast2/library/network/src/NetworkStorage.ycp Thu Jan 14 17:54:30 2010
@@ -31,17 +31,17 @@
* the main NIC needs STARTMODE nfsroot instead of auto.
* @return root dev over network
*/
-global boolean isDiskOnNetwork(string device){
+global integer isDiskOnNetwork(string device){
y2milestone("begin isDiskOnNetwork(%1) function", device);
- if (device=="nfs") return true;
+ if (device=="nfs") return 2;
if (size(device)==0) {
y2error("Empty parameter for isDiskOnNetwork() function");
- return false;
+ return -1;
}
- boolean network_based=false;
+ integer network_based=0;
// test for LVM
- if (!network_based && issubstring(device, "/dev/mapper/")) {
+ if (network_based==0 && issubstring(device, "/dev/mapper/")) {
y2warning("LVM detected!");
string group_name = splitstring(splitstring(device, "/")[3]:"", "-")[0]:"";
y2milestone("LVM group name %1", group_name);
@@ -49,12 +49,13 @@
foreach(string row, filter(string s, splitstring(command["stdout"]:"", "\n"), { return (size(s)>0);}), {
string lvm_device = filter(string s, splitstring(row, " "), { return (size(s)>0);})[0]:"";
y2milestone("LVM physical device: %1", lvm_device);
- if (isDiskOnNetwork(lvm_device)) network_based=true;
+ integer nb = isDiskOnNetwork(lvm_device);
+ if (nb>0) network_based=nb;
});
}
// test for RAID
- if (!network_based && issubstring(device, "/dev/md")){
+ if (network_based==0 && issubstring(device, "/dev/md")){
y2warning("RAID detected!");
string raid = splitstring(device, "/")[2]:"";
y2milestone("RAID %1 detected", raid);
@@ -63,13 +64,14 @@
foreach(string dev, raid_devices, {
if (!issubstring(dev, "/dev/")) dev = sformat("/dev/%1", dev);
string raid_device = substring(dev, 0, findfirstof(dev, "["));
- if (isDiskOnNetwork(raid_device)) network_based=true;
+ integer nb = isDiskOnNetwork(raid_device);
+ if (nb>0) network_based=nb;
}
);
}
//test for iSCSI
- if (!network_based){
+ if (network_based==0){
if (issubstring(device, "/dev/")){
device = splitstring(device, "/")[2]:"";
}
@@ -77,22 +79,29 @@
if (FileUtils::Exists(sys)){
if ((integer)SCR::Execute(.target.bash, sformat("ls -la %1 | grep -q session", sys))==0){
y2warning("iSCSI detected!");
- network_based=true;
+ network_based=1;
}
}
}
// test for nfs (bnc#384420)
- if (!network_based) {
+ if (network_based==0) {
string space="[[:space:]]";
if (SCR::Execute(.target.bash, sformat("grep '%1%2%3*nfs%4' /proc/mounts ", space, device, space, space))==0){
y2milestone("device %1 is network based : %2", device, network_based);
- network_based=true;
+ network_based=2;
}
}
return network_based;
}
+global list<string> getiBFTDevices(){
+ if (SCR::Execute(.target.bash, "ls /sys/firmware/ibft")==0){
+ map