1.131. s390utils

1.131.1. RHBA-2011:0081: bug fix and enhancement update

An updated s390utils package that fixes multiple bugs and adds two enhancements is now available.
The s390utils package contains utilities related to Linux for the IBM System z architecture.
This update fixes the following bugs:
* Previously, the online help for chsh documented "panic" as a valid state, although the command should not be used in this way. The online help could therefore have misled users. In this release, "panic" is no longer documented in the online help and does not therefore suggest that "panic" is a valid state for the chsh command. ( BZ#561153)
* Previously, the online help for the zipl command omitted the --force option. Users were therefore not informed about this option unless they referred to additional documentation. The --force option for zipl is now documented in the online help, reducing the need for users to refer to additional documentation. ( BZ#577321)
* Previously, due to faulty logic, non-zero values were returned even when particular utilities finished successfully. The affected utilities were:
  • lstape, using the -h option
  • ziomon, using the -h or -v options
  • ziorep, using the -h or -v options
The logic is corrected in this release, and these utilities now correctly return 0 when they complete successfully. ( BZ#556916, BZ#556917, BZ#623252)
* When cmm_min is commented out in the cpuplugd configuration file, a value of -1 is assigned to cmm_min and cpuplugd should not run. Previously, cpuplugd did not test whether the value of cmm_min was less than 0 and therefore cpuplugd would run even with cmm_min set to -1. Cpuplugd now tests wether cmm_min is less than 0 and therefore does not run if cmm_min is commented out in the configuration file. ( BZ#511379)
* On systems with more than 30 CPUs, NULL termination of a read buffer in cpuplugd could lead to a stack overwrite if a previous read had filled the whole buffer. Cpuplugd now reads no more than the maximum buffer size less 1 byte, and therefore avoids a stack overwrite on subsequent reads. ( BZ#601850)
* Previously, cpu_min was set to 2 by default in the cpuplugd configuration file. This setting could produce expensive and unnecessary CPU signaling when a workload was spread across two under-worked CPUs. Cpu_min is now set to 1 by default and therefore avoids wastage of system resources in this way. ( BZ#611789)
* Previously, cpuplugd only ran some of its tests for cmm_min and cmm_max values if it was started with the -V option or when cmm_pages was manually set to a value other than the default value. Therefore, cpuplugd did not always honor the cmm_min and cmm_max values specified in its configuration file. The tests for cmm_min and cmm_max are now independent of the -V option and the cmm_pages test and cpuplugd therefore enforces cmm_min and cmm_max correctly as specified in its configuration file. ( BZ#611792)
* Previously, zipl did not handle situations when I/O channels were unresponsive; for example, when a subchannel showed a "busy" or "status pending" condition, or when a DASD showed an unexpected status during SSCH. In these situations, zipl would terminate IPL and place the system in disabled wait. Now, zipl retries unresponsive channels and can clear the status of channels when it encounters errors. IPL is therefore more likely to succeed. ( BZ#537139, BZ#561155)
* Previously, lszfcp examined all ccw devices beneath $SYSFS/devices/css0/* when it generated its reports. As a result, the command was very slow on LPAR. Now, lsfcp focuses on zfcp devices -- those below $SYSFS/bus/ccw/drivers/zfcp/ -- and therefore produces its reports more quickly. ( BZ#518669)
* Because the HDIO_GETGEO ioctl does not reliably report the correct number of cylinders on a DASD, dasdview and fdasd previously computed the number of cylinders from the device size. However, for unformatted devices the device size is zero and thus, the computation previously ended with a floating point exception. Now, dasdview and fdasd obtain the number of cylinders from the BIODASDINFO ioctl. Because dasdview and fdasd no longer compute the number of cylinders, the floating point exception no longer occurs when these commands are run on an unformatted device. ( BZ#536846)
* Previously, lsreipl lacked a test for NSS as an IPL type. Therefore, when lsreipl was run on a booted NSS, lsreipl did not print any information. Lsreipl now includes a test for NSS and when lsreipl runs on an NSS, it prints the NSS name. ( BZ#546298)
* Previosuly, ziomon did not initialize mp_arr correctly as an empty array. Therefore, the output of multipath -l could not be stored in mp_arr and when ziomon was run on a valid multipath device, it would report "The following devices do not seem to exist." Now, mp_arr is initialized as an empty array and ziomon detects multipath devices correctly. ( BZ#533958)
* The code that ziomon previously used to parse the output of the multipath command could not handle all the characters that might appear in the output of the multipath command. Therefore, the number of LUNs reported by ziomon would not necessarily match the number of devices present. This release includes more robust parsing code for ziomon that reliably handles the output of the multipath command and therefore reports the correct number of LUNs. ( BZ#577319)
* Previously, the progress_bar variable in vmconvert was not initialized correctly. Consequently, control characters appeared in the display of the progress bar. The untidy appearance of the progress bar might have misled users to think that there was a problem with the conversion process. With the variable correctly initialized, the control characters no longer appear and users can be confident that conversion is proceding correctly. ( BZ#567688)
* Previously, faulty logic in zipl meant that incorrect partition information might be written to zipl.conf when configuring the zfcp dump partition. With the logic corrected, the partition information written to zipl.conf is now reliable. ( BZ#572312)
* Previously, faulty logic in qethconf matched only subchannels set to 0. Therefore, qethconf could not detect devices with subchannels set to values other than 0. With the logic corrected, qethconf now processes devices with subchannels set to values other than 0. ( BZ#627690)
* Previously, iucvtty passeed the z/VM user ID of the originating guest virtual machine as an argument to the to the -h option of the login program. However, the -h option makes some login programs obtain an FQDN for the system to which [uw]tmp records should be written. The time taken to obtain this FQDN might exceed the time limit in which the login program waits for user input. Under these circumstances, users cannot log in. Iucvtty no longer specifies a user ID as an argument to login -h. The scenario in which users might not be able to log in is therefore avoided. ( BZ#636203)
* The options set for the df command used by ziomon previously allowed long device names to be split across multiple lines, therefore preventing device names from being parsed properly. Ziomon now runs df with the -m option to keep device names on the one line. ( BZ#575830)
* Previously, the path for ziorep_config was hard coded. However, because different distributions store these configuration files in different directories, ziomon might not always find the ziorep_config file. The path to ziorep_config is now read from PATH to ensure that ziomon can always find it. ( BZ#576575)
* Previously, lsqeth did not clear its print array before it collected information for a qeth device. Therefore, when lsqeth printed information on a level2 device, it would sometimes include information from a previously displayed level3 device. Lsqeth now clears its print array before it collects information for a device and therefore avoids mixing information from more than one device. ( BZ#588356)
As well, this update adds the following enhancements:
* The sclp_cpi sysfs interface allows a set of descriptive data called "Control Program Identification" (CPI) to be associated with an operating system instance (currently LPAR only). This information is not persistent and has to be set once per IPL. The s390utils package now allows users of IBM System z to specify the following CPI data:
  • /sys/firmware/cpi/system_name -- arbitrary, user-specified system name as a string (for example, LPAR12)
  • /sys/firmware/cpi/sysplex_name -- arbitrary, user-specified sysplex name as a string (for example, SYSPLEX1)
Additionally, certain CPI data is set automatically:
  • /sys/firmware/cpi/system_type String: operating system type identifier as a string (set to "LINUX")
  • /sys/firmware/cpi/system_level -- operating system version information as a hexadecimal value in the form 0x0000000000aabbcc, where aa=kernel version, bb=kernel patch level, and cc=kernel sublevel. For example, Linux kernel 2.6.26 is represented as 0x000000000002061a
* ts-shell previously used a regular expression to limit group names to alphanumeric characters. This limitation was arbitrary, however, as any character that is not a whitespace should be usable as a group name. In this release, the regular expression is modified to allow any non- whitespace character in group names. ( BZ#598636)
IBM System z users should install this updated package which addresses these issues and adds these enhancements.