Este contenido no está disponible en el idioma seleccionado.
4.277. s390utils
4.277.1. RHBA-2011:1525 — s390utils bug fix and enhancement update Copiar enlaceEnlace copiado en el portapapeles!
Copiar enlaceEnlace copiado en el portapapeles!
Updated s390utils packages that fix multiple bugs and add multiple enhancements are now available for Red Hat Enterprise Linux 6.
The s390utils packages contain a set of utilities and daemons related to Linux for the IBM System z architecture.
Bug Fixes
- BZ#746202
- The cmsfs-fuse did not correctly update the number of records on the disk under certain conditions. This could result in an unreadable file situation when the last free data block on the disk was used. The cmsfs-fuse tool has been modified to update the highest record number according to the number of records written before the disk is full. The problem with unreadable files no longer occurs.
- BZ#746201
- Previously, FBA-512 disks could not be mounted using the cmsfs-fuse utility because csmfs-fuse expected to find the label information at a different position than it is located on FBA-512 disks. Also, the block size of the formatted FBA-512 disk can differ from the usual FBA disk block size, which is
512 bytes. With this update, cmsfs-fuse has been modified to detect the label information of FBA-512 disks and the formatted block size is now read from the label. FBA-512 disks can now be mounted with cmsfs-fuse as expected. - BZ#746195
- The cmsfs-fuse utility incorrectly calculated logical address of the data block that was to be allocated or freed. As a consequence, a write operation failed if a disk with a block size of
512 byteswas larger than256 MB. With this update, cmsfs-fuse has been modified to calculate logical addresses correctly, and disks with a block size of 512 bytes can be written to regardless of their capacity. - BZ#745940
- Under certain circumstances, cmsfs-fuse could incorrectly calculate the end of a file when parsing data record of a file in the fixed record format. As a consequence, an attempt to read such a file failed with an I/O error. The cmsfs-fuse has been modified to calculate data records and detect the end of a file correctly. Read operations on files in the fixed record format are now successful.
- BZ#745939
- When performing multiple subsequent write operations on a file in the fixed record format, cmsfs-fuse could, under certain circumstances, incorrectly determine the current write position. As a consequence, write operations could fail. The cmsfs-fuse tool now maintains, as long as a file is open for writing, a write pointer that refers to the current write position, and thus allows
contiguous writesto the file in the fixed record format without any failures. - BZ#745938
- The cmsfs-fuse utility did not reset the record length attribute after finishing a write operation. As a consequence, the next write operation failed if a disk was mounted with the
-o big_writesoption, which enables write operations bigger than4 KB, and the previously written record was larger than a disk block size. With this update, cmsfs-fuse resets the record length attribute after every write operation, and writing to a file no longer fails in the scenario described. - BZ#736397
- The
qetharputility did not check the lenght of the given interface name parameter. Therefore, theqetharpcommand terminated with a buffer overflow when it was executed with an interface name that was longer than16 bytes. With this update,qetharpchecks the length of the interface name parameter, and properly exits with theError: interface name too longerror message if the parameter is longer than it is allowed to be. - BZ#695380
- Due to the redundant
free()function call in the configuration file of cmsfs-fuse, the utility attempted to deallocate already freed memory. As a consequence, cmsfs-fuse expressed unpredictable behavior in the file type translation mode, such as a no longer accessible file system. With this update, the superfluous free() function call has been removed, and cmsfs-fuse now behaves as expected. - BZ#745936
- Under certain circumstances, a file size calculation could cause the data type overflow situation, which resulted in a negative value. As a consequence, it was impossible to create files larger than
2 GB. With this update, cmsfs-fuse has been modified to cast data type of variables, structure members and functions used in the calculation to a longer data type before calculating the file size. The cmsfs-fuse utility now works as expected and files larger than2 GBcan now be created. - BZ#740302
- The lsmem and chmem utilities assumed only contiguous memory blocks. Therefore, if the memory was non-contiguous and memory blocks did not follow in the presumed order, the lsmem utility did not show available memory that followed after a part of the physical address space that was not mapped to physical memory, a so called
memory hole, and the chmem utility did not work at all. The lsmem and chmem utilities have been modified to work correctly with non-contiguous memory. - BZ#738341
- The lscss and lsdasd tools did not correctly handle a situation when running on a
sysfsdevice tree that was changing. If a device disappeared from the device tree while lscss or lsdasd was attempting to access attributes of the device, the tool displayed pointless error messages. With this update, the lscss and lsdasd code has been modified to suppress the related error messages. In addition, the return code of thelscss -handlsdasd -hcommands has been corrected. - BZ#738340
- The lsluns utility did not check whether the
SCSI Generic (sg)driver was loaded in the kernel andsg functionalitywas thus available. Therefore, lsluns silently failed when it was started andsg functionalitywas unavailable on the system. With this update, lsluns now includes the missing check and exits with an error message when it is started on the system with thesg functionalityunavailable. - BZ#738329
- The af_iucv(8) man page now contains previously missing information about
HiperSocketsandHiperSocket connections, including an explanation on how to configure aHiperSocket device. - BZ#736035
- Previously, the dumpconf utility used the
DELAY_MINUTESvariable to delay restart of a system onkernel panic. However, users expected immediate action, therefore dumpconf has been modified to set theDELAY_MINUTESvariable to0on system restart. Restart of the system with dumpconf is now triggered immediately. - BZ#732739
- The
cpuplugddaemon did not properly handle lines commented out and did not correctly match strings in its configuration file. Consequently, lines in the configuration file that were commented out could be executed, which resulted in a parsing error, and invalid variable names were sometimes not rejected. The comment handling and string matching routines has been corrected in the code, andcpuplugdnow behaves as expected when parsing the configuration file. - BZ#730978
- When calculating a date for a timestamp, the Perl localtime function incorrectly returned month within a
range from 0 to 11instead of arange from 1 to 12, which resulted in timestamps shifted by one month backward. To correct this problem, returned integer is incremented by one. The zfcpdbf now generates correct timestamps. - BZ#730370
- The
lsluns --helpcommand incorrectly suggested using an invalid--portsoption. This mistake has been corrected, and thelsluns --helpnow correctly displays the--portoption. - BZ#729610
- The fdasd utility did not distinguish between interactive and non-interactive mode. Therefore, when running the fdasd utility with the
--configor--autooption on a device with no valid disk label, fdasd could stop with the following output:no known label Should I create a new one? (y/n)
no known label Should I create a new one? (y/n)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Or it could fail with the following error message:Disc does not contain a VOL1 label, cannot create partitions. exiting...
Disc does not contain a VOL1 label, cannot create partitions. exiting...Copy to Clipboard Copied! Toggle word wrap Toggle overflow With this update, the fdasd has been modified to properly check whether it should run in interactive or non-interactive mode, and it behaves accordingly. - BZ#726414
- The
cpuplugd(8) man page has been modified to correct several typos and add one missing word. - BZ#725737
- Previously, the
cpuplugddaemon did not handle a sub-string matching correctly. The daemon also used an incorrect string length when working with user-defined variables. As a consequence, the daemon returned a parsing error if a user-defined variable name matches the prefix of a pre-defined variable, or a substring of another user-defined variable. With this update, the sub-string matching has been corrected, and cpuplugd now uses correct string length in string comparing operations. Parsing errors no longer occur in the scenario described. - BZ#718745
- The
cpuplugddid not use any mechanism to prevent multiplecpuplugdinstances from starting. As a consequence, a race between the PID file creation and a daemon startup could result in multiple cpuplugd instances running concurrently. To resolve this problem, a file locking mechanism that uses theflock()function has been introduced in thecpuplugdcode. Only one instance ofcpuplugdis now allowed to run at the same time. - BZ#718697
- The
cpuplugdhad previously not implemented sanity checks regarding minimum and maximum values for validCPUand memory intervals. If a configuration with incorrect intervals was used, the daemon could not work properly, and CPU and memory could not be used optimally. With this update,cpuplugdnow includes CPU and memory sanity checks, ensuring its efficiency. - BZ#718198
- Due to a missing
ferror()test, the lsreipl utility returned an error message when it attempted to read an emptysysfsfile. With this update, the missing check has been added, and lsreipl no longer returns error messages when attempting to read an empty file. - BZ#713817
- The
libzfcphbaapilibrary was missing some event thread cleanup code in theHBA_FreeLibrary()function. Therefore, the zfcp_ping tool could terminate unexpectedly with a segmentation fault if no on-line adapter was discovered. The missing event thread cleanup has been added in the code using thepthread_cancelandpthread_joinfunctions. The zfcp_ping tool no longer crashes under these circumstances. - BZ#711998
- The s390utils-iucvterm package uses the
grepcommand in its postinstall and postuninstall scripts but it was not dependent on the grep package. Therefore, error messages were displayed when installing s390utils-iucvterm. With this update, the grep package has been added as a prerequisite for s390utils-iucvterm. No error messages now occur during the package installation. - BZ#711775
- When scanning for active
Logical Unit Numbers(LUNs) without the-a, --activeoption, the lsluns utility filtered a scan for well known LUNs with value0xc101000000000000and0x0000000000000000, because the SCSI report luns command is sent only to these LUNs. As a consequence, thelsluns -acommand did not show all active LUNs but only activewell known LUNs. The lsluns utility has been modified to not filter LUNs when issued with the-aoption, and it now shows all active LUNs. - BZ#705404
- The dasdinfo utility was missing a return code and the tool always returned
exit code 0even if an error had occured. This update adds the missing return code and the dasdinfo tool now returns correct return code values. - BZ#704505
- The s390utils-libzfcphbaapi package did not specify the correct location of the
libzfcphbaapi.socommon library to the/etc/hba.confconfiguration file. Therefore, s390utils-libzfcphbaapi failed to register with the/etc/hba.confconfiguration file. With this update, the postinstall script adds thelibzfcphbaapi /usr/lib64/libzfcphbaapi-2.1.soline to the/etc/hba.confconfiguration file and thus registers the s390utils-libzfcphbaapi package. - BZ#700471
- The ziomon utility used the
--outputcommand line option in the code, although it was referred to as the--outfileoption in the documentation. Using the--outfileoption as suggested by documentation thus resulted in a ziomon failure. With this update, ziomon has been modified to accept the--outfilecommand line option as documented. - BZ#700470
- The ziomon utility did not check whether a
debugfsfile system is mounted on the/sys/kernel/debug/directory. Therefore, if the mount point was a different directory, ziomon failed. The missing test is now included in ziomon, and it now works as expected: continues if a file system is mounted on the/sys/kernel/debug/directory, or exits with theziomon: Error: Debugfs not mounted on /sys/kernel/debug.error message if a file system is mounted on a different mount point. - BZ#729981
- To print parameters of the zipl utility for
device-mapper multipathdevices, zipl uses thezipl_helper.device-mapperscript, which parses output of other programs. If any of these programs hadlocaledependent output, the script was unable to parse the output. Consequently, zipl terminated with the following error:Script could not determine target parameters
Script could not determine target parametersCopy to Clipboard Copied! Toggle word wrap Toggle overflow To avoid this problem, thezipl_helper.device-mapperscript has been modified to set up standardlocalefor the current process and all child processes. The problem described no longer occurs.
Enhancements
- BZ#700531
- The latest versions of the
Linux 2.6 schedulerprovide the same CPU optimization functionality as thecpuplugddaemon does, without the negative effects ofcpuplugdoperations. Therefore, thecpuplugddaemon is now disabled on the system by default. - BZ#694465
- With this update, the cpuplugd daemon has been significantly improved:
- A set of rules used by the
cpuplugddaemon has been improved, and cpuplugd now provides more advanced control of theVM Resource Manager(VMRM)Cooperative Memory Management(CMM) memory balloon. - The daemon now also provides a history function, which allows an access to previous data.
- Any data from the
/proc/vmstatand/proc/meminfofiles can now be used incpuplugdrules and user-defined variables. - A new
cpustat.total_ticksvariable has been introduced, which simplifies user-defined CPU percentage calculations. - The process of timestamp generation has been simplified, and a bug with wrong timestamps and intervals due to incorrect counts with microseconds, has been fixed.
- Previously, the daemon did not re-allocate and re-initialize the history data on a
SIGHUPsignal receipt. This could cause the daemon to terminate unexpectedly with a segmentation fault if the maximum history level increased. The history data is now re-allocated and re-initialized when the daemon is reloaded and maximum history level has changed. - The daemon used a specified update interval instead of the actual time to determine the duration of the
sleep()function and forswap ratecalculation. This could lead to incorrect data under certain circumstances. Thecpuplugddaemon now uses the actual time in its calculations.
- BZ#632327
- The chreipl tool has been improved and now includes the following modifications:
- Support for
re-IPLfrom multipath devices has been added.
- Support for
re-IPLfromNamed Saved System(NSS) has been added.
- Additional kernel parameters now can be specified for the next
re-IPL.
- Support for
auto target" has been added. For the ccw, fcp, and node targets, chreipl can automatically find the correctre-IPLtarget.
All users of s390utils are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.