Bug 154915 - Cannot update by this "Harddisk configuration"
Summary: Cannot update by this "Harddisk configuration"
Status: RESOLVED FIXED
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: Installation (show other bugs)
Version: Beta 6
Hardware: x86-64 Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Jiri Srain
QA Contact: Klaus Kämpf
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-03 07:37 UTC by Joachim Reichelt
Modified: 2006-08-11 08:09 UTC (History)
1 user (show)

See Also:
Found By: Beta-Customer
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
tar of all y2* vol* and sd* files in /var/log (1.01 MB, application/octet-stream)
2006-03-03 15:04 UTC, Joachim Reichelt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joachim Reichelt 2006-03-03 07:37:03 UTC
Update of SUSE (10.0 and 10.1) does stop with a funny outdated messages, due to some entries in fstab:
(here the german message:)
/var-Partition kann mit dieser Festplattenkonfiguration nicht gemounted werden...
http://portal.suse.com/sdb/en/2003/fhassel_update_not_posible.html

This URL is no longer valid!
I can use <CTRL><ALT>F9 and do a:
mount /dev/sdb2 /mnt/var
So I removed the /var line from fstab and could update.

here the full fstab:
/dev/md2             /                    unknown    defaults              0 0
/dev/sdb1            /boot                ext2       acl,user_xattr        1 2
/dev/md3             /home                reiserfs   acl,user_xattr        1 2
/dev/md0             /root                reiserfs   acl,user_xattr        1 2
/dev/sdb2            /tmp                 reiserfs   acl,user_xattr        1 2
/dev/md1             /usr                 reiserfs   acl,user_xattr        1 2
## Install/Update problem :
/dev/sdb3            /var                 reiserfs   acl,user_xattr        1 2
/dev/sda8            swap                 swap       defaults              0 0
/dev/sdb8            swap                 swap       defaults              0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
/dev/dvd             /media/dvd           subfs      noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0
/dev/fd0             /media/floppy        subfs      noauto,fs=floppyfss,procuid,nodev,nosuid,sync 0 0
none                 /subdomain       subdomainfs noauto         0 0
none                 /subdomain       subdomainfs noauto         0 0
Comment 1 Michael Gross 2006-03-03 12:25:05 UTC
Hello Joachim. At first: The SDB was migrated to opensuse.org, have a look at http://en.opensuse.org/SDB (but please notice that we dismissed many outdated articles there).

To your problem: Please be more verbose here. What have you done to run into this problem (step by step), also attach the YaST logfiles in /var/log/YaST.
Comment 2 Joachim Reichelt 2006-03-03 12:53:58 UTC
What I did:
I installed Suse 10.0 on a DELL Optiplex with 2 SATA disks using the FS-layout seen in the bugreport.
The system often stopps without any visible reason. (ATI-Graphics, broadcom LAN?)
So I decided to give 10.1 beta5/beta6 a try.
Boot from mini-iso (or from SUSE 10.0 DVD, result is the same)
Select Update
NO valid system found to update.
Select "Show all partitions", Select /dev/md2
Select "ok" ("Weiter"), got the message "/var..."
switched to second console, mounted /dev/sdb2, edited fstab to remove /var on /dev/sdb3
reselected system to update and now all goes on.
I can mount /dev/sdb3 during the selection process without problems.

The error message and GOOGLE helped me to find this trick

Comment 3 Michael Gross 2006-03-03 14:18:49 UTC
OK, please attach the YaST logfiles here.
Comment 4 Joachim Reichelt 2006-03-03 15:04:39 UTC
Created attachment 71161 [details]
tar of all y2* vol* and sd* files in /var/log

I chaged fstab (removed /var) and then started install.
Comment 5 Michael Gross 2006-03-03 16:42:51 UTC
I suppose this is a packager problem.
However I don't know if an update is supported at the current development state.
Klaus: If not, until there is support, we should mark reports about this as a duplicate of this bug. It is not (yet) mentioned at the most annoying bugs page.
Comment 7 Klaus Kämpf 2006-03-03 17:14:18 UTC
its a mount problem, certainly not package related.

Yes, upgrade is supported since beta5.
Comment 8 Thomas Fehr 2006-03-14 18:22:17 UTC
This might be another duplicate of 157585
Comment 9 Lukas Ocilka 2006-03-15 11:04:55 UTC
Thomas, is this correct: ?

Storage.ycp:4092 BuildDiskmap cmd find /var/lib/hardware -type l | xargs rm
[bash] ShellCommand.cc(shellcommand):78 rm: missing operand

RootPart.ycp:912 crtab: []
Storage.ycp:2983 DeviceRealDisk /dev/sdb3 ret true
Storage.ycp:2983 DeviceRealDisk /dev/md ret true
Storage.ycp:2983 DeviceRealDisk /dev/sda ret true
Storage.ycp:2983 DeviceRealDisk /dev/sdb ret true
RootPart.ycp:855 don't know how to handle more than two disks at this point
RootPart.ycp:926 failed to mount /var!
RootPart.ycp:971 MountPartition (/dev/md2) = false

Storage.ycp:3741 DetectFs:/dev/sdb1
FileSystems.ycp:991 used_fs:`ext2 ret:ext2
RootPart.ycp:313 mounting (/mnt/boot, /dev/sdb1, ) yield nil
RootPart.ycp:666 Raidarray for partition /home on device /dev/md3 found
ShellCommand.cc(shellcommand):78 /dev/md0: Invalid argument
ShellCommand.cc(shellcommand):78 /dev/md1: Invalid argument
ShellCommand.cc(shellcommand):78 /dev/md2: Invalid argument
ShellCommand.cc(shellcommand):78 /dev/md3: Invalid argument
RootPart.ycp:674 raidstart failed ( does no matter ): /sbin/raidstart --all --configfile /mnt/etc/raidtab
...
Comment 10 Thomas Fehr 2006-03-15 11:39:07 UTC
Apparently, mounting /dev/sdb1 to /mnt/boot fails (probably because ext2 
modules is not loaded). The code for handling multiple disks in /etc/fstab
is pretty complex since it needs to cope with disk renames (e.g. hda becomes sda).

What is definitely wrong, is that "DeviceRealDisk /dev/md ret true" this should
return false, I will check into that.
Comment 11 Lukas Ocilka 2006-03-17 13:09:43 UTC
Thomas: any progress here, please?
Comment 12 Thomas Fehr 2006-03-17 14:51:37 UTC
I do not see what I should do here, the code handling update is not mine.

The return code of DeviceRealDisk seems to be correct (at least it was 
unchanged since this function exists), but the only one that could tell for sure
is Arvin who wrote that part to cope with changed disk names (hda -> sda)
during update. If I should change DeviceRealDisk to return false for /dev/md
I can do that, but this can only decided by someone who understands the code
using DeviceRealDisk.
Comment 13 Lukas Ocilka 2006-04-21 11:22:54 UTC
list <string> realdisks = [];
foreach (string s, map m, (map <string, map>) Storage::GetOndiskTarget (), {
    if (Storage::DeviceRealDisk (s))
        realdisks = add (realdisks, s);
});

if (size (realdisks) != 2) {
    y2error ("don't know how to handle more than two disks at this point");
    return _("Unable to mount /var partition with this disk configuration.\n") + sdb;
}

I have no clue why is it there but there must be a reason :)
Jiri: maybe you'd like to comment it?
Comment 14 Jiri Srain 2006-08-10 12:39:25 UTC
The code in RootPart is an unreadable mess. However, after trying to understand it, changing return value of DeviceRealDisk to false in case of MD arrays (as well as LVM of EVMS volumes) should be correct.

Thomas, can you do it, please? I will then adapt RootPart.ycp to work correctly when root is on MD and /var is on normal partition (which is this case)
Comment 15 Thomas Fehr 2006-08-10 13:11:36 UTC
Requested change is in SVN head, will be available with yast2-storage-2.14.4
Comment 16 Jiri Srain 2006-08-11 08:09:50 UTC
Thanks, I adapted yast2-update in SVN.