Patch Name: PHKL_18439 Patch Description: s700 10.20 LOFS cumulative patch Creation Date: 99/04/26 Post Date: 99/04/27 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN Automatic Reboot?: Yes Status: General Superseded Critical: No (superseded patches were critical) PHKL_17012: OTHER The behavior using lofs file systems is unpredictable if PHKL_16750 is installed because a partial lofs fix was delivered in this patch. Path Name: /hp-ux_patches/s700/10.X/PHKL_18439 Symptoms: PHKL_18439: SR: 4701422105 CR: JAGab03795 /usr/bin/pwd incorrectly fails. To reproduce the problem: # mkdir -p /tmp/lofs1 /tmp/lofs2 # mount -F lofs /var/adm /tmp/lofs1 # mount -F lofs /var/adm /tmp/lofs2 # cd /tmp/lofs1/sw/products # /usr/bin/pwd This will fail with "No such file or directory" instead of returning /tmp/lofs1/sw/products. PHKL_17012: SR: 5003442988 DTS: JAGaa43747 Various symptoms may be exhibited due to a partial fix being delivered to a previous patch. One reported symptom includes getting a "Device Busy" error when trying to mount a file system a second time using lofs. The failure that caught this issue can be reproduced by doing mkfs /dir1 /dir2 mount -F lofs /usr /dir1 mount -F lofs /usr /dir2 The result of the second mount will be "Device Busy". Defect Description: PHKL_18439: SR: 4701422105 CR: JAGab03795 The command /usr/bin/pwd, which calls getcwd(), incorrectly fails with certain lofs file systems. The problem is caused by the lofs routine lfind() returning the incorrect vnode when searching for the lofs directory. Resolution: A change had been added in patch PHKL_15619 that allowed an incorrect vnode to match the one we were searching for in lfind(). This check is not necessary to fix the original problem, and has been removed. PHKL_17012: SR: 5003442988 DTS: JAGaa43747 The defect was caused by having only 2 of the 6 files delivered into patches PHKL_1659[2,3] for various lofs problems. The problem is corrected by delivering all 6 of the files needed to correct lofs defects. SR: 4701422105 5003442988 Patch Files: /usr/conf/lib/libhp-ux.a(lo_subr.o) /usr/conf/lib/libhp-ux.a(lo_vfsops.o) /usr/conf/lib/libhp-ux.a(lo_vnops.o) /usr/conf/lib/libhp-ux.a(vfs.o) /usr/conf/lib/libhp-ux.a(vfs_vnode.o) what(1) Output: /usr/conf/lib/libhp-ux.a(lo_subr.o): lo_subr.c $Date: 99/04/26 12:26:43 $ $Revision: 1.4. 98.8 $ PATCH_10.20 (PHKL_18439) /usr/conf/lib/libhp-ux.a(lo_vfsops.o): lo_vfsops.c $Date: 98/11/25 06:46:35 $ $Revision: 1. 4.98.8 $ PATCH_10.20 (PHKL_17012) /usr/conf/lib/libhp-ux.a(lo_vnops.o): lo_vnops.c $Date: 98/11/25 06:46:32 $ $Revision: 1.5 .98.8 $ PATCH_10.20 (PHKL_17012) /usr/conf/lib/libhp-ux.a(vfs.o): vfs.c $Date: 98/11/25 06:47:02 $ $Revision: 1.25.98. 17 $ PATCH_10.20 (PHKL_17012) /usr/conf/lib/libhp-ux.a(vfs_vnode.o): vfs_vnode.c $Date: 98/11/25 06:47:17 $ $Revision: 1. 14.98.10 $ PATCH_10.20 (PHKL_17012) cksum(1) Output: 174805360 5376 /usr/conf/lib/libhp-ux.a(lo_subr.o) 3474342600 3568 /usr/conf/lib/libhp-ux.a(lo_vfsops.o) 3226911052 6328 /usr/conf/lib/libhp-ux.a(lo_vnops.o) 2007819174 20440 /usr/conf/lib/libhp-ux.a(vfs.o) 4247523880 8988 /usr/conf/lib/libhp-ux.a(vfs_vnode.o) Patch Conflicts: None Patch Dependencies: s700: 10.20: PHKL_16750 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_17012 Equivalent Patches: PHKL_18440: s800: 10.20 Patch Package Size: 110 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 PHKL_18439 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_18439.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHKL_18439.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_18439. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHKL_18439.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_18439.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch depends on base patch PHKL_16750 . For successful installation please insure that PHKL_16750 is in the same depot with PHKL_17012, or PHKL_16750 is already installed.