Patch Name: PHKL_17673

Patch Description: s700 10.26 Correct process hangs on ufs inodes

Creation Date: 99/04/16

Post Date:  99/08/17

Hardware Platforms - OS Releases:
	s700: 10.26

Products: N/A

Filesets:
	OS-Core.CORE-KRN

Automatic Reboot?: Yes

Status: General Release

Critical:
	Yes
	PHKL_17673: HANG

Path Name: /hp-ux_patches/s700/10.X/PHKL_17673

Symptoms:
	PHKL_17673:

	Port of 10.20 PHKL_17253 for 10.26
	Processes reading/writing inodes on a ufs file system may
	sleep (and hang) indefinitely waiting for the inode lock to
	become available.

Defect Description:
	PHKL_17673:
	The problem is in ip_sharable(), a check to determine
	whether additional read locks can be done.  The check
	incorrectly passes when an inode is ILOCKED and IPAUSED,
	causing these additional read requests to be added.
	These read requests will never be serviced because the
	counts on the inode will be incorrect.

	Resolution:
	The resolution is to correct the ip_sharable() check so
	that read requests are delayed properly in order to keep
	the inode request counts accurate.   This will prevent
	a hang from occurring on these processes.  This change
	is miminal and provides the behavior intended

SR:
	0000000000

Patch Files:
	/usr/conf/lib/libufs.a(ufs_inode.o)

what(1) Output:
	/usr/conf/lib/libufs.a(ufs_inode.o):
		99/04/14 kern/ufs/ufs_inode.c, hpux, hpux_10.26, ic5
			bw Revision 1.9 PATCH_10.26 (PHKL_17673)

cksum(1) Output:
	4274032181 25564 /usr/conf/lib/libufs.a(ufs_inode.o)

Patch Conflicts: None

Patch Dependencies:
	s700: 10.26: PHKL_17282

Hardware Dependencies: None

Other Dependencies: None

Supersedes: None

Equivalent Patches:
	PHKL_17674:
	s800: 10.26

	PHKL_17253:
	s700: 10.20

	PHKL_17254:
	s800: 10.20

Patch Package Size: 80 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_17673

	5a. For a standalone system, run swinstall to install the
	    patch:

		swinstall -x autoreboot=true -x match_target=true \
			-s /tmp/PHKL_17673.depot

	By default swinstall will archive the original software in
	/var/adm/sw/patch/PHKL_17673.  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_17673.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_17673.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions:
	This patch depends on base patch PHKL_17282.
	For successful installation, please ensure that PHKL_17282
	is in the same depot with this patch, or PHKL_17282 is
	already installed.