|
Bugzilla – Full Text Bug Listing |
| Summary: | Software management application take a long time to start | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE LINUX 10.0 | Reporter: | Mark Haverkamp <markh> |
| Component: | Hotplug | Assignee: | Jiri Srain <jsrain> |
| Status: | RESOLVED DUPLICATE | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Major | ||
| Priority: | P5 - None | CC: | ihno |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PowerPC-64 | ||
| OS: | SuSE Linux 10.0 | ||
| Whiteboard: | |||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Mark Haverkamp
2006-01-13 22:45:59 UTC
Have a look at /var/log/YaST/y2log. You woill see that the libstorage of yast will look which devices are there. This of course need some time for 16000 devices. So its a known Problem. Any Comments? I'm not sure what I can say. If I had a system with a large number of disks attached, I'd find the system unusable in its current state. Just looked with Thomas Fehr at the code. The basic problem is that the libstorage is called to find out how much space in the different filesystems is. At installation time there is no other way. But if the module is called in running system df could be used to get the relevant information. Jiri, the call to Storage::GetTargetMap() is pretty expensive on system with many disks since libstorage needs to detect all block devices. The call is unavoidable during installation (since the filesystems are not yet mounted or even existing) but in an installed System you could get the active mount points and the available space also by a simple call to "df". So you would not need to call GetTargetMap() at all which would speed up Software selection a lot in a running system (where software selection is called mostly). I changed Storage.ycp to lazy initialisation so that libstorage does not get initialized in the constructor but during the first call to GetTargetMap(). So if you change anything be sure to use Storage.ycp from SVN for testing. |