========================================================================== The checksum's (found through sum -r) of the files that you have received (other than this README) are as follows: 42291 8 patchSG0003177 04479 2095 patchSG0003177.eoe1_sw 28910 643 patchSG0003177.eoe2_sw 61242 18 patchSG0003177.idb ========================================================================== - 1 - 1. Release_Notes_for_IRIX_5.3_patch_SG0003177 This release note describes patch SG0003177 to IRIX 5.3. Patch SG0003177 replaces patches SG0000159, SG0000206, SG0000415, SG0000528, SG0000739, SG0000852, SG0001122, SG0002224, SG0002886. It contains the following information: o Hardware platforms supported o List of the bugs which are fixed by this patch o Compatability considerations o List of subsystems included in this patch o Installation instructions 1.1 Hardware_platforms_supported This patch to IRIX 5.3 supports the Challenge and Onyx platforms, including the Challenge S. 1.2 Bugs_fixed_by_patch_SG0003177 This patch contains fixes for the following problems which exist in IRIX 5.3 (bug numbers from SGI bug tracking system are included for reference): o If a device transferred an odd count of regular data *and* an odd count of sense (status) data, then the odd byte of regular data would be lost. This problem was mostly seen on one type of tape drive operating in variable mode. The driver and firmware now keep track of the odd byte lengths of regular data and sense data separately (bug #353077). o Fixes have been made to make the scip driver and firmware more robust when third party SCSI resets (resets caused by other controllers/devices) are detected. This fixes a problem found in cases where two systems were attached to the same SCSI bus in a high availability configuration. o Under very heavy loads, it was possible for the SCSI controller to become confused and think that the input queue had wrapped. This caused it to execute incorrect commands. When it completed them, they weren't found on the driver active queues. This caused the system to panic (bug #395687). - 2 - o Also under very heavy loads, it was possible for DMA completion for a given command to be done very slowly, such that it was not complete when another command became active on the SCSI bus. When this occurred, the user would see a SCSI timeout, previous to which activity on the affected SCSI bus would come to a halt. o A bug in rpc.rstatd broke rstatd and caused the message "rstatd[XXX]: can't read ifnet from kmem" to be written to SYSLOG when certain networking devices including "xpi" FDDI boards were added to a machine. This has been fixed (bug #336711). o A bug which returns incorrect data for scip requests whose byte length is odd has been fixed (bug #277528). o A bug which did not let the wd95 driver access devices with the high bit of the peripheral qualifier set has been fixed (bug #277529). o The dksc driver has too short a timeout for the Test Unit Ready done at open time. It should be longer to prevent timeouts when a drive takes more than 5 seconds to respond. This patch fixes this so that it can take 45 seconds or more to complete a Test Unit Ready command (bug #277531). o This patch has suport for PCMCIA devices (bug #292017). o Changes were made in the affected utilities to provide support for dos and hfs filesystems on PC cards. o Changes to support Logical Units (LUNS) were incorporated into the dksc subsystem. This lun support was necessary to properly handle the new Raid5 product that is being introduced. This support contains the fixes necessary for bug #246039. o Modifications to take care of some phase change situations that arose with the 3480/3490 tape drives have been made to both SCIP and wd95 drivers (bug #260735). o A problem when a request sense occurs with outstanding commands for a particular lun has been fixed (bug #268158). o In previous 5.3 SCSI patches, access to luns with the vendor specific Peripheral Qualifiers was not allowed. It is now allowed. - 3 - o When a device or bus is saturated, access to multiple logical units of a SCSI target is fairer now. Previously, the wd95 driver would not issue commands for LUN 1 if there were commands waiting for LUN 0; it would not issue commands for LUN 2 if there were commands waiting for LUN 1, etc. With this patch, a round robin approach is used. o A bug in Ignore Wide Residue message handling in the wd95 driver has been fixed. If a 16 bit SCSI device transferred an odd number of bytes, the command would get an error status. o An initialization bug in the wd95 driver has been fixed. Previously, it was possible, though highly unlikely that the first access to a SCSI device after bootup would fail. o Doing odd byte length transfers on a SCIP controller could result in data corruption. This bug is now fixed. o If a device issued a restore pointers message after reselecting the SCIP, error 0x28 would be generated, with the following error regs: 0x26 0x0 0x0. Then the SCSI bus would be reset. This patch fixes that problem. o If command queueing is enabled on a disk drive, the disk driver would use a queue tag with every command. Now it will just issue tags with reads and writes. The dkmaxq variable limits the number of reads and writes -- if a device were opened while the maximum number of reads and writes were outstanding, one extra command above that limit would be issued, which could cause a queue full condition. In general, it is good for commands other than read and write to be issued one at a time. o The Test Unit Ready command issued by the disk driver now allows 60 seconds before timeout instead of 5 seconds. Some disks take substantially longer than 5 seconds under certain conditions. o The MAKEDEV script has been updated to handle the 8505XL 8mm tape drive (bug #287623). Part of this includes a new method of creating device files, in which the disk, tape, and scsi devices are created by calling separate scripts in the directory /dev/MAKEDEV.d. This makes it easier for users to add their own MAKEDEV scripts, since, for example, all - 4 - files in /dev/MAKEDEV.d with the prefix DKS_ will be executed in creating disk devices. o The scip driver would get confused if it detected a reset before a request to issue a reset had been completed. This problem was seen with an I/O device that reset the SCSI bus whenever it detected a SCSI bus reset. The problem has been fixed in this patch. (bug #315380) o There is now only one timeout maintained per logical unit in the scip driver. Previously, if commands were queued to a device it would be possible to get spurious timeouts. o This patch has added a workaround for problems that can occur with multiple IO4's in a single Onyx or Challenge system. o A bug was introduced in the EFS file system check utility (fsck(1M)) in IRIX 5.3 that can cause it to damage a file system being checked under the following circumstances: - The file system partition must be less than or equal to 2 gigabytes in size. - There is a cylinder group in the file system in which the total number of directory and indirect blocks exceeds the maximum DMA size configured for the kernel. The maximum DMA size is controlled by the kernel parameter maxdmasz in the memsize group, as presented by the systune(1M) utility. In IRIX 5.3, the default value of maxdmasz is 1024 pages (4 megabytes). - The file system has been reorganized with the IRIX 5.3 version of the fsr(1M) utility in such a way that all the directory blocks and indirect blocks in the affected cylinder group can be accessed with a single contiguous read. This combination of requirements implies that in order to be affected by this bug, the file system would have to consist of a large number of small files. Assuming an average directory entry size per file of 32 bytes, for example, it would require roughly 100,000 files to hit the bug. When the bug is hit, the effect is that fsck(1M) is not able to interpret the contents of the directories on the affected cylinder groups. The directories are - 5 - deleted and all the contained files end up in the lost+found directory. This bug is number 252303. o Using mkfs(1M) to create an EFS filesystem with less than the default number of inodes could cause fsck(1M) to core dump or produce incorrect superblock checksum values (bug #266970). o This patch fixes security hole in "/sbin/df" command (bug #494131). o Challenge needs to support DG SCSI RAID (bug #246038). o Irix 6.2 'sar' not y2k compliant(bug #545050). o Irix 6.5 'sar' not y2k compliant(bug #546520). 1.3 Compatability_considerations This patch contains some changes to the dksc header files necessary to be able to reference the luns. This may necessitate some rebuilds of packages that make use of libdisk and/or the following header files: o "/usr/include/sys/dksc.h" o "/usr/include/sys/scip.h" o "/usr/include/sys/scsi.h" o "/usr/include/sys/wd95a_struct.h" 1.4 Subsystems_included_in_patch_SG0003177 This patch includes changes to the following IRIX 5.3 products: eoe1 eoe2. The patchSG0003177 image contains the following subsystems: o patchSG0003177.eoe1_sw.quotas o patchSG0003177.eoe1_sw.unix o patchSG0003177.eoe2_sw.acct o patchSG0003177.eoe2_sw.perf o patchSG0003177.eoe2_sw.rfindd - 6 - o patchSG0003177.eoe2_sw.tcp 1.5 Installation_instructions This patch is only installable on systems running IRIX 5.3. This patch requires installation in miniroot mode. To perform the installation, take the system down and follow the normal procedures for starting up the installation tool from the supplied release media. It is recommended that you select all the patch subsystems that correspond to software already installed on the system. One way in which software patches differ from full releases and maintenance releases is that patches are reversible: you can remove the patch and restore the installed software to its state before the patch was applied. This is done by using the versions command as superuser: versions remove patchSG0003177 Since this patch replaces some kernel object files, it is necessary to rebuild the kernel image and reboot after removing the patch: autoconfig reboot