Bug 372238

Summary: yast2 repair erroneously complains about "no valid root partition found"
Product: [openSUSE] openSUSE 11.0 Reporter: Casual J. Programmer <casualprogrammer>
Component: YaST2Assignee: Jiří Suchomel <jsuchome>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: aschnell, mvidner
Version: Factory   
Target Milestone: ---   
Hardware: x86   
OS: openSUSE 11.0   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: yast2 logs
Screenshot of situation

Description Casual J. Programmer 2008-03-19 08:04:08 UTC
When running yast2 repair "Automatic Repair" all seems well, running it a second time ( without quitting ) comes up with a message box "no valid root partition found"

Notebook: Fujitsu Siemens Amilo Si 1520
Graphics: Fujitsu Siemens Mobile 945GM/GMS/GME, 943/940GML Express
Monitor:  QUANTADISPLAY LCD Monitor 1280x800@60Hz
Wireless: Intel PRO/Wireless 3945ABG Network Connection
Sound:    82801G (ICH7 Family) High Definition Audio Controller
Desktop:  gnome2-SuSE-10.3-169
YaST GUI: yast2-qt-2.16.33-3
OS:       openSUSE 11.0 (i586) Alpha3 VERSION = 11.0
Kernel:   2.6.25-rc5-git3-6-pae

yast2-repair-2.16.4-30
Comment 1 Casual J. Programmer 2008-03-19 08:05:23 UTC
Created attachment 202848 [details]
yast2 logs
Comment 2 Casual J. Programmer 2008-03-19 08:05:42 UTC
Created attachment 202849 [details]
Screenshot of situation
Comment 3 Martin Vidner 2008-04-04 09:36:06 UTC
Happened to me too on Alpha 3. I thought that it would help to not run the module for the second time and instead start Expert - Reinstall Bootloader right away, but that only gave me an empty dialog (with lots of nils in the log), so I'll file a new bug.
Comment 4 Jiří Suchomel 2008-04-15 13:53:11 UTC
Hm. It might be caused by a wrong check if some device is already mounted. On the installed system (original report), root device is additionally mounted to /mnt. In the second run, yast2-repair tries to check if given partition is mounted using the call Storage::DeviceMounted (root_partition) - however, this call returns only one string (this time "/") although the device is mounted also at "/mnt"

Arvin, is there any Storage:: call that returns all active mount points for given device? 
(I could probably check /etc/mtab, but I'd like to stick to usage of current API)
Comment 5 Arvin Schnell 2008-04-15 14:20:32 UTC
Now there isn't but it should be possible to add on. Not trivial
since internal map has to be changed to multimap. I will check
and report back.
Comment 6 Jiří Suchomel 2008-04-17 11:33:23 UTC
*** Bug 372242 has been marked as a duplicate of this bug. ***
Comment 7 Christoph Thiel 2008-04-28 08:13:10 UTC
Arvin, *ping* :)
Comment 8 Arvin Schnell 2008-04-28 17:41:08 UTC
Sorry, currently to many bugs. Won't have time this week.
Comment 9 Jiří Suchomel 2008-05-22 12:57:20 UTC
So, I added a direct check agains /etc/mtab, hopefully this will work.

yast2-repair-2.16.11