Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
s390-tools
s390-tools-sles11sp2-lsdasd-improve-performance...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File s390-tools-sles11sp2-lsdasd-improve-performance.patch of Package s390-tools
Description: lsdasd: improve performance when used with many DASDs Symptom: In systems with many DASDs lsdasd takes several seconds to respond. Problem: In a system with many DASDs, lsdasd spends a significant amount of time finding all DASD device entries in sysfs. Solution: We can reduce this time by searching through the dasd-eckd and dasd-fba driver directories instead of the device tree. Problem-ID: 76236 --- zconf/lsdasd | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) --- a/zconf/lsdasd +++ b/zconf/lsdasd @@ -112,8 +112,24 @@ function CheckDeviceString() { # Generate list of DASDs #------------------------------------------------------------------------------ function listDASDDeviceDirectories() { - find "$SYSFSDIR/devices" -type l -name "driver" -lname "*/dasd*" \ - -printf "%h\n" 2> /dev/null + DRIVERECKD="$SYSFSDIR/bus/ccw/drivers/dasd-eckd/" + DRIVERFBA="$SYSFSDIR/bus/ccw/drivers/dasd-fba/" + SEARCHDIRS= + + if [[ -d "$DRIVERECKD" ]]; then + SEARCHDIRS="$DRIVERECKD" + fi + if [[ -d "$DRIVERFBA" ]]; then + SEARCHDIRS="$SEARCHDIRS $DRIVERFBA" + fi + if [[ -n "$SEARCHDIRS" ]]; then + find $SEARCHDIRS -type l -printf "%h/%l\n" 2> /dev/null + else + # The above paths may become invalid in the future, so we keep the + # following query as backup: + find "$SYSFSDIR/devices" -type l -name "driver" -lname "*/dasd*" \ + -printf "%h\n" 2> /dev/null + fi return 0 }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor