Patch Name: PHCO_29769 Patch Description: s700_800 11.00 mount(1M) cumulative patch Creation Date: 03/12/03 Post Date: 03/12/16 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No Category Tags: defect_repair enhancement general_release Path Name: /hp-ux_patches/s700_800/11.X/PHCO_29769 Symptoms: PHCO_29769: ( SR:8606218322 CR:JAGad87471 ) mount(2) system call successfully mounts the filesystem but mount(1M) exits with an error. ( SR:8606288626 CR:JAGae52557 ) mount(1M) with no option returns incomplete list of mounted filesystem. PHCO_28141: The mount(1m) command with the "-a" option fails to handle the "dev=xxxx" string of a filesystem entry in /etc/fstab. Users will see the following error messages: vxfs mount: illegal -o suboption -- delay PHCO_27506: This product update is a member of a set needed to enable the optional HP-UX Device IDs feature. Upon installation, the HP-UX Device IDs bundle (DevIDs11) will install the full set of product updates (including this one) necessary to enable the Device IDs feature. If the HP-UX Device IDs product (DeviceIDs11) is not installed, this product update to HP-UX will have no impact on your system. PHCO_24635: Mount(1M) may fail to determine filesystem type for for some VxFS file systems with layout version 4. PHCO_20531: Mount(1M) returns 1 intermittently among one of multiple filesystems that are mounted in very short time slot, even though that filesystem is mounted successfully. PHCO_18473: Enchancement to allow for multiple versions of VxFS. PHCO_18316: On a cold install (Ignite-UX), /etc/mnttab should not be updated before mounting, even if it is found to be out of sync with the kernel mount table. PHCO_17698: If a file system is in /etc/mnttab but is not really mounted, perhaps due to a bad or out-of-date /etc/mnttab file, the mount command fails with the message that the file system is already mounted, even though the file system is not mounted. PHCO_16582: Locking scheme for /etc/mnttab causes deadlocks. PHCO_14626: For mount -a, cachefs file systems in /etc/fstab must be mounted after nfs file systems. Defect Description: PHCO_29769: ( SR:8606218322 CR:JAGad87471 ) Filesystem specific mount(2) system call succeeds, that is filesystem gets mounted, but mount(1M) command might fail to update /etc/mnttab. Thus mount(1M) returns with an error without raising an error message. Resolution: Retry mechanism is provided to retry updating /etc/mnttab. ( SR:8606288626 CR:JAGae52557 ) A mount process reads copy of /etc/mnttab without exclusive access. That is, mount(1M) reads the copy of /etc/mnttab which is under construction. Resolution: mount(1M) has been modified to get a exclusive access to copy of /etc/mnttab while reading. This exclusive access is granted only for root user. The non-root user will still see the documented symptoms, that is, incomplete list of filesystems. PHCO_28141: A filesystem specific mount command does not correctly handle the "dev=xxxx" Device ID string. Resolution: The mount(1m) is modified to remove a "dev=xxxx" string from filesystem specific mount commands, if such string is found in /etc/fstab. PHCO_27506: This product update contains minor enhancements required to enable the HP-UX Device IDs feature. When AutoFS unmounts a filesystem, it obtains the device id from the filesystem server. If that server is slow, or not responding, there may be a delay of 15 seconds or more. On systems with many AutoFS managed filesystems and many slow or non-responding servers, the cumulative delay may be quite significant. Resolution: The mount(1m) is modified to be able to put device IDs in /etc/mnttab when Device IDs feature is activated. PHCO_24635: The filesystem metadata is read using 32 bit offsets, while VxFS layout 4 filesystem allows some metadata to be stored beyond the 2 Gigabyte mark. Resolution: Changed the read mode from 32 bit to 64 bit. PHCO_20531: The current system call of getmount_cnt(&timebuf) does not count all entries in kernl mount table. That causes mount(1M) to miss one or more mounted filesystems. Resolution: Adding the second loop from end of kernel mount table to the very beginning of the list makes sure all entries be searched. PHCO_18473: Multiple versions of VxFS may co-exist on a system. Each version has its own set of file system-specific commands that lives in a different directory than other versions. Since at a given time, only one version of a file system type can be configured in the kernel, mount needs to be able to determine what version is running, so that it can construct the correct path from which to exec() the file system-specific mount command. For full support for multiple VxFS versions, the following patches are required. Note: This patch, PHCO_18473, can be installed without the patches below if support for multiple VxFS versions is not required. PHCO_18462 diskusg_vxfs PHCO_18463 fscat PHCO_18464 getext PHCO_18465 setext PHCO_18466 vxdump PHCO_18467 vxrestore PHCO_18468 vxupgrade PHCO_18470 df PHCO_18471 fstyp PHCO_18472 fs_wrapper PHCO_18473 mount_wrapper PHCO_19491 libc PHCO_19623 mount_hfs PHCO_19624 mount_cdfs PHCO_19631 lvchange PHCO_19656 mkboot PHCO_19673 fsck_hfs Resolution: The externalmount() routine was changed to check for a "subtype" (a different VxFS version). If a subtype kernel is running, use the subtype name to construct the path to the fs-specific mount command. PHCO_18316: During a cold install, the ignition software manipulates /etc/mnttab (temporarily) for its own purposes. This causes /etc/mnttab to be incorrect with respect to the kernel mount table. However, at this point in the cold install, this is desirable, so that Ignite-UX does NOT want the mount command to update /etc/mnttab (i.e., sync it up with the kernel table) before mounting. Resolution: In the isalreadymounted() function, when we discover that the file system is in /etc/mnttab but not in the kernel mount table, i.e. that /etc/mnttab and the kernel mount table are out of sync, we then need to check to see if this is during a cold install. If it is, then we do not want to call update_mnttab() to sync /etc/mnttab before mounting. PHCO_17698: The mount command relies on /etc/mnttab to determine if a file system is already mounted. Therefore, if the /etc/mnttab file is bad or out-of-date due to, for example, an unexpected reboot which does not update /etc/mnttab when it unmounts file systems, the mount command fails with the message that the file system is already mounted, even though the file system may not actually be mounted. This can have serious ramifications in certain situations, such as when a reboot happens at system init time such that a critical file system such as /stand cannot be mounted. Resolution: When the mount command finds the file system in /etc/mnttab, it then checks the kernel file system table to see if the file system is, in fact, mounted. If it IS mounted, it appropriately fails with an "already mounted" message. If it is NOT mounted, this indicates that /etc/mnttab and the kernel file system table are out of sync, so it updates /etc/mnttab and then proceeds with mounting the file system. PHCO_16582: When a process reads /etc/mnttab, it locks the file. This blocks any other process from reading the file. Resolution: The libc routines that access /etc/mnttab need to change so that they no longer lock on read; they must only lock on write. In cooperation with libc changes, the mount(1M) command needs some integrity checks when it reads /etc/mnttab, to help compensate for not having the read lock. This prevents mount(1M) from using an out-of-date /etc/mnttab file, or from using a corrupt or empty file and failing with, "mount: file system table may be corrupt". In addition, mount(1M) needs to change the way it updates /etc/mnttab, so that write-locking is minimized. All these changes help reduce the possibility of a deadlock situation, especially in HA environments, where multiple processes may be attempting to access and/or update /etc/mnttab at the same time. PHCO_14626: For mount -a, cachefs file systems in /etc/fstab must be mounted after nfs file systems. Enhancement: No (superseded patches contained enhancements) PHCO_27506: This product update contains minor enhancements required to enable the HP-UX Device IDs feature. SR: 8606288626 8606218322 8606284901 8606241982 8606195643 8606110511 4701427328 1653293282 1653290346 Patch Files: OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /sbin/mount /usr/sbin/mount what(1) Output: OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /sbin/mount: $Revision: 82.5.1.12 $ $ PATCH/11.00:PHCO_27731 Oct 11 2002 12:59:13 $ PATCH_11_00: mount.o 03/12/03 OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/mount: $Revision: 82.5.1.12 $ $ PATCH/11.00:PHCO_27731 Oct 11 2002 12:59:13 $ PATCH_11_00: mount.o 03/12/03 cksum(1) Output: OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2505281135 282624 /sbin/mount OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2505281135 282624 /usr/sbin/mount Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_14626 PHCO_16582 PHCO_17698 PHCO_18316 PHCO_18473 PHCO_20531 PHCO_24635 PHCO_27506 PHCO_28141 Equivalent Patches: PHCO_29905: s700: 11.11 s800: 11.11 Patch Package Size: 180 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_29769 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_29769.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_29769. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHCO_29769.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_29769.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_29769.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None