[yast-commit] r55297 - in /trunk/reipl: VERSION package/yast2-reipl.changes src/Reipl.ycp src/reipl_bootloader_finish.ycp src/reipl_finish.ycp
Author: jsrain
Date: Fri Feb 6 11:56:55 2009
New Revision: 55297
URL: http://svn.opensuse.org/viewcvs/yast?rev=55297&view=rev
Log:
fixed rebooting (bnc #471522)
Modified:
trunk/reipl/VERSION
trunk/reipl/package/yast2-reipl.changes
trunk/reipl/src/Reipl.ycp
trunk/reipl/src/reipl_bootloader_finish.ycp
trunk/reipl/src/reipl_finish.ycp
Modified: trunk/reipl/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/reipl/VERSION?rev=55297&r1=55296&r2=55297&view=diff
==============================================================================
--- trunk/reipl/VERSION (original)
+++ trunk/reipl/VERSION Fri Feb 6 11:56:55 2009
@@ -1 +1 @@
-2.17.2
+2.17.3
Modified: trunk/reipl/package/yast2-reipl.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/reipl/package/yast2-reipl.changes?rev=55297&r1=55296&r2=55297&view=diff
==============================================================================
--- trunk/reipl/package/yast2-reipl.changes (original)
+++ trunk/reipl/package/yast2-reipl.changes Fri Feb 6 11:56:55 2009
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Fri Feb 6 11:28:36 CET 2009 - jsrain@suse.cz
+
+- fixed rebooting (bnc #471522)
+- 2.17.3
+
+-------------------------------------------------------------------
Fri Oct 31 13:23:47 CET 2008 - jsrain@suse.cz
- do not rely on bootloader module being initialized (bnc #440261)
Modified: trunk/reipl/src/Reipl.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/reipl/src/Reipl.ycp?rev=55297&r1=55296&r2=55297&view=diff
==============================================================================
--- trunk/reipl/src/Reipl.ycp (original)
+++ trunk/reipl/src/Reipl.ycp Fri Feb 6 11:56:55 2009
@@ -111,7 +111,7 @@
mounts = (list<map>)SCR::Read (.etc.mtab);
foreach (map mount, mounts, ``{
- y2milestone ("FindSysfsRoot: mount = %1", mount);
+ y2debug ("FindSysfsRoot: mount = %1", mount);
if (ret == nil && mount["vfstype"]:"ERROR" == "sysfs" && mount["spec"]:"ERROR" == "sysfs") {
ret = (string)mount["file"]:nil;
@@ -244,7 +244,19 @@
if (substring (fullDisk, 0, 4) == "dasd") {
- string disk = substring (fullDisk, 0, 5);
+ string disk = substring (fullDisk, 0, 5); /* broken with more than 26 DASD devices */
+ /*
+ fullDisk contains a device name either starting with "dasd" or with "sd".
+ I suppose it might be a full block device or just a partition on such a
+ block device. If it is a partition we have to get rid of the suffix
+ specifying the partition in order to get the containing block device.
+ We need something regex-like to get rid of the suffix.
+ This would work even if we have thousands
+ of block devices, which is not uncommon on s390. In such a case the
+ devices would have names such as "dasdaab" or "dasdaab1" and taking the
+ first five characters would no longer work. Analogous thing applies for
+ SCSI devices in the FCP case.
+ */
y2milestone ("FindBootPartition: found that the MBR uses dasd (%1)", disk);
@@ -292,7 +304,7 @@
disk = fullDisk;
}
else if (size (fullDisk) == 4) {
- disk = substring (fullDisk, 0, 3);
+ disk = substring (fullDisk, 0, 3); /* broken with more than 26 SCSI disk devices */
}
else {
fError = true;
@@ -397,6 +409,7 @@
}
if (fCCW) {
+ configuration["method"] = "ccw";
map ccw_map = (map)configuration["ccw"]:nil;
if (ccw_map == nil) {
@@ -412,6 +425,7 @@
}
}
else if (fFCP) {
+ configuration["method"] = "fcp";
map fcp_map = (map)configuration["fcp"]:nil;
if (fcp_map == nil) {
@@ -448,7 +462,10 @@
if (!SanityCheck ()) {
y2error ("Reipl::Read: SanityCheck failed!");
- Popup::Error (_("This machine does not support reipl!"));
+ /* Popup::Error (_("This machine does not support reipl!")); */
+ /* Don't bother the user, just silently do shutdown in the end.
+ Especially, since this would currently popup three times
+ during installation. */
return nil;
}
@@ -533,6 +550,11 @@
y2milestone ("Reipl::WriteState: writing out method %1", configuration["method"]:"");
SCR::Write (.target.string, reipl_directory + "/reipl_type", (string)configuration["method"]:nil);
+ /*
+ I see a difference between the value written to the log and written to sysfs:
+ configuration["method"]:"" <===> (string)configuration["method"]:nil
+ But that's probably OK here and not the reason for the obvious bug in the y2log.
+ */
}
if (ccw_exists) {
Modified: trunk/reipl/src/reipl_bootloader_finish.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/reipl/src/reipl_bootloader_finish.ycp?rev=55297&r1=55296&r2=55297&view=diff
==============================================================================
--- trunk/reipl/src/reipl_bootloader_finish.ycp (original)
+++ trunk/reipl/src/reipl_bootloader_finish.ycp Fri Feb 6 11:56:55 2009
@@ -29,7 +29,7 @@
map
participants (1)
-
jsrain@svn.opensuse.org