Patch Name: PHKL_11523

Patch Description: s700 10.10 pstat, CPULIMIT, VM, LVM, PM cumulative patch

Creation Date: 97/06/24

Post Date:  97/06/29

Hardware Platforms - OS Releases:
	s700: 10.10

Products: N/A

Filesets:
	LVM.LVM-KRN OS-Core.CORE-KRN OS-Core.KERN-RUN
	ProgSupport.C-INC

Automatic Reboot?: Yes

Status: General Superseded

Critical:
	Yes
	PHKL_11523: CORRUPTION
	PHKL_11432: CORRUPTION
		This patch when used with the appropriate
		SG/DLM version will avoid any potential
		windows for data corruption during
		reconfiguration in a HA cluster env. using
		SG or DLM
	PHKL_11121: PANIC
	PHKL_10201: PANIC
	PHKL_8393: HANG
		This patch adds a new feature to LVM.
		The feature is provided to customers
		who need the option to limit the time LVM waits
		for powerfailed disks in given logical volumes
		to return.
	PHKL_8292: HANG
	PHKL_8201: HANG
	PHKL_8082: ABORT
	PHKL_7868: PANIC
	PHKL_7458: PANIC
	PHKL_7301: PANIC
	PHKL_7244: OTHER
		Performance problems caused by excessive protection
		id faults
	PHKL_7187: CORRUPTION
	PHKL_7167: ABORT
	PHKL_7164: ABORT
	PHKL_7050: PANIC
	PHKL_6969: PANIC
	PHKL_6748: HANG
	PHKL_6484: PANIC CORRUPTION

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

Symptoms:
	PHKL_11523:
	When using large environments greater than 20 kbytes
	user applications dump core sometimes, or get bad
	data.

	PHKL_11432:
	Ghost IO kernel patch :
	A customer might find corrupt data on disk after a Service
	Guard or Distributed Lock Manager fail-over.  This defect
	is specific to the HA cluster environments.

	PHKL_11121:
	1.  Although users can now exec() programs with up to
	2047998 bytes of argument and env strings,
	sysconf(_SC_ARG_MAX) continues to return 20478 bytes as the
	maximum length of all arguments and env strings.

	2.  Expanding the argv/envp string capacity to 2048000 bytes
	exposed an existing bug in pstat_cmd().  Code in that rou-
	tine could scan beyond the end of a particular internal
	20480-byte buffer, resulting in a trap and system panic.

	PHKL_10873:
	HP-UX didn't log any error when a user process:
	    1. encountered a swap space shortage
	    2. exceeded a system resource limitation
	Processes were terminated but the errors were not
	recorded on any of the system log files.

	PHKL_10827:
	pstat_getlv() returns information about first VG only.

	PHKL_10270:
	The total length (including terminators) of all argv and
	env strings passed to a newly-EXECed process was 20480
	bytes.  If a greater length was detected, the exec() failed
	with E2BIG.

	PHKL_10201:
	System panic (data page fault) when debugging processes
	over an interruptable NFS mount point.

	PHKL_10103:
	Syslogd fills up file system.

	PHKL_9073:
	Applications using Memory Mapped Files were performing
	poorly when mapping thousands of pregions to the same file.
	The problem would mainly be noticed with shared (MAP_SHARED)
	and exclusive (MAP_FIXED with address in the process private
	data space) mappings.  This patch is required when using the
	Object Store database product from ODI.

	PHKL_8928:
	Unable to mprotect non-mmap(2) addresses.

	PHKL_8920:
	On hp-ux 9.04 (S800) and 10.x (S700/S800), large MP
	systems with a high switch rate result in unacceptable
	level of KI CPU overhead.  Moreover, the KI has the
	processor spinlock during this time with interrupts
	disabled!  We have observed on a 10.10 TPC benchmark
	system that enabling the swtch trace in the KI
	reduces TPC throughput by 10%.

	PHKL_8790:
	Running strings on a raw sar(1) output file can show some
	printable strings (sar ignores these).

	PHKL_8714:
	After call to pstat_getmsg(), all accesses to the message
	queue pstat_getmsg() was called hang.

	PHKL_8461:
	The directory entry for a file system object (FSO) will no
	longer be readable once the contents of that object have
	been deleted.

	This was not shipped as a separate patch.

	PHKL_8393:
	This change supports a new -t switch for lvchange allowing
	the administrator the option to limit the time lvm holds
	i/os to be retried on logical volumes when disks are
	powerfailed.
	Without using this option, LVM will hold the i/os as long
	as there is is one disk where the data resides which may
	eventually return.  Using this option would cause LVM to
	give up on the powerfailed disk and return i/o errors to
	the user application using the logical volume.  This
	feature is obviously not to be used indiscriminately.
	For many High Availability applications, having i/os
	held in kernel indefinitely is not acceptable.
	Most customers should not need to use the new switch.

	PHKL_8292:
	When multiple nfsd's access the same file simultaneously,
	they hang in a deadlock.

	PHKL_8201:
	MP system hangs during panic. The LED shows system staying
	at INIT CB0B. Machine needs to be TOC'ed to save the core
	dump.

	PHKL_8082:
	LVM may return I/O's with errors instead of sending them to
	an alternate link.  This patch also facilitates using
	"vgreduce -f" for physical volumes which have alternate
	links; without this patch "vgreduce -f" is not allowed on
	LVM disks with alternate links.

	PHKL_7868:
	lvreduce(1M) may cause a system panic, if it is used to
	reduce an lvol which was left inconsistent by a prior
	LVM operation.  lvreduce(1M) could not be used to remove
	lvols that were somehow corrupted, if it was, the command
	would cause a system panic.

	PHKL_7668:
	Several types of symptoms may occur:
	    - logins on NFS clients may receive incorrect access on
	      NFS servers
	    - files from NFS servers may appear to be owned by the
	      wrong logins on NFS clients
	    - setuid and setgid binaries available on NFS servers
	      may allow client logins to run with incorrect access

	PHKL_7458:
	"panic trap type 18" problem on HP-UX 10.X NFS file
	server with short file name file system.

	PHKL_7334:
	Panic during power failure recovery on non-UPS systems.

	PHKL_7301:
	System panic with "Data page fault" in set_purge_SIDS()
	when using mprotect(2):
	   trap type 15, pcsq.pcoq = 0.249f0c, isr.ior = 0.3c
	   panic: (display==0xb800, flags==0x0) Data page fault
	      panic+0x10
	      report_trap_or_int_and_panic+0x8c
	      trap+0x72c
	      set_purge_SIDS+0x0
	      invalidate_protids+0xbc
	      hdl_changerange+0x1e0
	      hdl_mprotect+0x398
	      do_mprotect+0x140
	      foreach_pregion+0xe8
	      mprotect+0x78
	      syscall+0x1f4

	This panic was mostly observed on systems running SAP R/3.

	PHKL_7244:
	MP T500 running 10.01 or 10.10 with Informix database
	exhibits poor performance and high levels of
	protection id traps after reboot. Problem exhibits
	itself after stopping/restarting application until
	system rebooted. /usr was a JFS VxFS file system.

	PHKL_7187:
	lvmerge could merge an lvol back with all PEs marked as
	current and yet the syncing of stale LTGs had failed.
	lv_recover_ltg(k), which does the syncing, had no mechanism
	to return error to lv_table_reimage(k). lv_table_reimage(k)
	therefore returns success when this may not be the case.

	PHKL_7167:
	program with itimer gets SIGILL when debugger uses ptrace
	PT_SINGLE

	PHKL_7164:
	Performance suffers for sequential i/o with LVM and disk
	arrays with stripe depth > 64k.
	Edison ARM utilities (and diagnostic tools that require
	exclusive access to a device) fail reporting device busy
	(EBUSY) even when all volume groups accessing the device
	are deactivated.
	Edison ARM utilities (and diagnostic tools that require
	exclusive access to a device) fail reporting device busy
	(EBUSY) if the device was ever used as a Service Guard
	Cluster Lock disk.

	PHKL_7124:
	For very large /etc/passwd files, passwd command may return
	EDEADLK and print an error message about lockf deadlock
	detection.

	PHKL_7050:
	pvmove leads to panic: lv_reducelv extmap, when
	the mirrored logical volume contains unallocated
	physical extents (might caused by previous
	unsuccessful pvmove operation (kill -9).

	vgchange: Couldn't activate volume group "/dev/vgpam":
	Invalid argument

	when users is doing deactivate a volume group, the system
	panic with "lv_cache_deactivate inflight".  PHKL_6675 fixes
	some case and this patch fixes a special case.

	PHKL_6969:
	system panic when vgchange -a y VG with bad sectors
	on the bad block directory area.

	PHKL_6852:
	When a customer has a /etc/lvmtab which is out of data with
	running kernel, this will cause vgcfgbackup to fail.

	PHKL_6801:
	None.

	PHKL_6748:
	Rename deadlock:  This deadlock occurs in the following
	situation:  Process 1 is moving a directory to a new
	parent directory at the same time as Process 2 is doing a
	lookup on the new parent directory Process 1's directory
	is being moved into.  Both processes will sleep forever
	and all accesses to both directories will also sleep.

	PHKL_6653:
	None. This is a pstat enhancement.

	PHKL_6484:
	itrunc: no space panic when truncating a file with a hole
	in it on a full file system.  If the truncation makes the
	new end of the file fall into the middle of the hole, a
	disk block must be allocated for the end of the file, and if
	one can't be allocated, itrunc() would panic.  This fix has
	itrunc gracefully backout instead.

	Possibility of random file system corruption or data loss
	when removing ACLs or files with ACLs has also been fixed.

Defect Description:
	PHKL_11523:
	During the final stages of EXEC, the kernel has to
	relocate the argv and envp pointers to point to the
	argument and environment strings which reside in the
	user stack. There was a defect in this reloction code
	that caused all pointers pointing to locations in
	the user's stack at offsets of 20K from the base to
	have bad addresses.

	PHKL_11432:
	When a node dies in an HA cluster environment, there may be
	IO requests still pending on its intellegent disk IO boards
	(eg.  Wizard card).  The IO boards may continue to write
	this stale data to disks.  This process is known as "Ghost
	IO".  This situation may lead to data corruption when the
	other nodes in the HA cluster detect the failure, apply
	recovery logic, and perform IO to the disks.  There is a
	need for detecting the death of a node and reseting the bus.
	This feature only impacts Service Guard/Distributed Lock
	Manager environments.

	PHKL_11121:
	1.  An earlier patch, PHKL_10177, expanded the actual space
	available to execve(), but failed to modify sysconf() to
	report the new maximum.  This patch corrects that.  There is
	no change to module kern_exec.c (home of execve()) other
	than a revision roll to ensure its inclusion in this patch.

	2.  pstat_cmd() scans the argv/envp buffer so that ps can
	display the first 64 characters.  A limit error allowed the
	routine to scan until it found a null string terminator,
	even if that was well beyond the 64 bytes needed.  This de-
	fect was unnoticed as long as there was only one 20480 byte
	buffer, since we were guaranteed to find a null terminator
	before (or at) the end of the buffer.  With many internal
	20480 byte buffers making up the total 2048000 argv/envp
	space, a particular argv/envp string can straddle more than
	one buffer.  If these buffers are not contiguous, and
	pstat_cmd() scans off the end of a buffer before finding a
	null string terminator, it may reference an illegal memory
	address.  That results in a trap and system panic.

	PHKL_10873:
	This patch provide support for logging of errors in memory
	management related system calls such as brk/sbrk as well
	as handling error cases during stack growth.  Errors are
	logged on the system console (dmesg) and also in syslog.
	The variable mman_elog, which defaults to OFF, is used to
	control the logging. This variable can be set through adb
	at a customer site to enable error logging.

	PHKL_10827:
	pstat_lvinfo() algorithm describes that if the number of
	entries requested is non-zero, it will traverse through
	all the Volume Groups (VG) to report the open logical
	volume information. The test (lvix >= vgp->num_lvols) is
	used to test if LV index is covered by VG. This should be
	(lvix > cur_lvs) which is lvix compared to the number of
	open logical volumes. Also there can be some volumes
	that are configured but not mounted.(the VG where they
	reside is still ACTIVE). The fix now shows the all the
	logical volumes that are open in the system.(within
	any Volume Group). The defect can be reproduced by
	writing a program based on pstat_getlv() to display
	information about Logical Volumes configured on a
	system. The output of this program only shows logical
	volumes for the first volume group.

	PHKL_10270:
	The internal buffer within the kernel was created with
	a length of 20480 bytes, with no provision for increasing
	its size.  This patch provides for up to 100 such buffers,
	with all but the first allocated only if required (that
	is, if more than 20480 bytes of argv/env information is
	found).  Thus, exec() now supports up to 2048000 bytes of
	argv/env information.

	PHKL_10201:
	When  debugging  processes over an  interruptable  NFS mount
	point there was a window during which a traced process could
	sleep in exec() while the debugger  would exit  clearing the
	traced bit and  freeing  the  ptrace  data  structure.  Upon
	wakeup, the no longer traced  process would panic the system
	trying to dereference a NULL pointer.

	PHKL_10103:
	msg_bufx was set to the value over MSG_BSIZE.

	PHKL_9073:
	The pregions list associated to a shared region was designed
	as a doubly-linked list thus providing a linear access to
	pregions in the list.  This design was not suited to deal
	with thousands of pregions and the doubly-linked list was
	replaced by a skip-list for faster access. Two other changes
	were required to deliver better performance: the algorithm
	to check the total virtual address space and the routine to
	locate the stack pregion were enhanced.

	PHKL_8928:
	Currently mprotect() restricts the addresses it will
	accept for protection.  Only those addresses returned
	from a call to mmap() can be used for mprotect().  However
	there are customers who need to mprotect addresses in
	the data, stack and shared memory segments; objects not
	created vi a call to mmap().  So mprotect() was opened
	to allow mprotect'ing on data, stack and shared memory
	objects.  Text is not allowed unless the executable is
	EXEC_MAGIC.

	PHKL_8920:
	The KI swtch trace generation code in the kernel walks
	all pregions in the vas of the swtched process.  PTC's MI
	and performance tools do not need rss values updated every
	context switch - the extra overhead is not worth the small
	increase in accuracy.

	It is sufficient to copy the pid's
	vas_t->va.prss+vas_t->va.rss (private + shared) value
	which is updated every 5 seconds by statdaemon.

	PHKL_8790:
	pstat_dynamic() allocates a buffer but fails to initialize
	it before using it.  Buffer ends up containing some garbage.
	This is a cosmetic defect only; sar ignores the
	uninitialized spaces.

	PHKL_8714:
	pstat_msginfo() calls msgconv() to convert the offset into
	a message queue pointer.  msgconv() was changed to not only
	do the conversion, but to lock the queue and return a
	pointer to the queue's lock.  pstat_msginfo() had not been
	changed to take into account msgconv()'s new behavior.

	PHKL_8461:
	The name of a file in a directory entry is not cleared when
	the file object itself is deleted (say, with rm(1)).  To
	demonstrate this:

	$ mkdir test
	$ cd test
	$ touch delete_me
	$ ls
	delete_me
	$ rm delete_me
	$ ll
	total 0
	$ strings .         # Examine strings in cwd.
	      delete_me     # Filename is still in cwd entry.

	This was not shipped as a separate patch.

	PHKL_8393:
	LVM makes every effort to avoid returning an error to user
	applications.  LVM will hold onto an I/O to retry it later
	if there is even the smallest hope that the device will
	return.  If a disk simply does not respond and no bad
	writes made it to the media, LVM will hang onto the i/o as
	long as the disk does not respond with an indication that
	there was actually a bad write or read.  The patch
	provides a new feature that allows administrators
	the option of limiting the time lvm will wait for disks
	in an logical volume to return, and cause lvm to return
	i/os with EIO instead of hanging onto them indefinitely.

	PHKL_8292:
	ufs_bread(), called by nfs server routines, prematurely
	unlocks the inode while the caller still owns the buffer.
	This opens a window for another process to grab the inode
	lock. Deadlock occurs when the process owning the buffer
	tries to access the inode again and the process holding
	the inode waits for the buffer to be available before
	it can release the inode lock.

	The fix is to delay the inode unlocking in ufs_bread()
	until the inode is no longer needed.

	PHKL_8201:
	In 10.X, interrupt distribution is implemented to allow
	reassignment of interrupt processors to I/O interfaces
	for workload balancing. The assigned interrupt processor
	for an I/O interface may or may not be the system monarch
	depending on the the number of I/O cards and processors
	available.

	During a panic, if the panic processor is the system
	monarch, it will flush the buffer cache on its way down.
	If the interrupt of the disk it is syncing is serviced by
	one of the other processor(s), the I/O completion interrupt
	will not be received and the ISR will not be called
	because the other processor(s) are TOC'ed at this point.
	Without the ISR to signal biodone(), the biowait() sleeps
	forever.

	The fix is to add a timeout in the panic_boot path to break
	out from the hang in disk sync'ing and continue with the
	reboot.

	PHKL_8082:
	Without this patch LVM will not retry failed i/os on
	alternate links unless the error is one that denotes that
	the device is offline or powerfailed.  Other errors,
	are not retried on an alternate link and may cause LVM to
	report the error to users applications.  Typically,
	customers with unmirrored lvols using multiported devices
	like the HP3232 (Nike) disk array would see the problem
	when an EIO error is reported to LVM from the underlying
	device driver due to a device or driver problem.  In this
	situation LVM would report the EIO to user applications
	without trying any available alternate link.  Another
	problem this patch fixes allows reducing out physical
	volumes from a volume group when the device is not
	available and the device has links, formerly devices with
	links could not be removed if they were not available.

	PHKL_7868:
	The problem was that the kernel forced a panic whenever any
	inconsistency was found during an lvreduce.  For example,
	if a logical extent in an lvol referred to a physical
	extent that was not allocated, it would cause
	lvreduce(1M) to panic the system.  This occured even when
	the objective was to remove the offending lvol.
	This is a very rare occurance.

	PHKL_7668:
	A future HP-UX release will increase the value of MAXUID,
	providing for a greater range of valid UIDs and GIDs.  It
	will also introduce problems in mixed-mode NFS environments.

	Let "LUID" specify a machine running a version of HP-UX
	with large-UID capability.  Let "SUID" specify a machine
	with current small-UID capability.  The following problems
	may occur:

	LUID client, SUID server
	    - Client logins with UIDs outside the server's range
	      appear as the anonymous user.  However, the anonymous
	      user UID is configurable, and is sometimes configured
	      as the root user (in order to "trust" all client root
	      logins without large-scale modifications to the
	      /etc/exports file).  Thus, all logins with large UIDs
	      on the client could be mapped to root on the server.
	    - Files owned by the nobody user on the server will
	      appear to be owned by the wrong user on the client.

	SUID client, LUID server
	    - Files owned by large-UID logins on the server will
	      appear to be owned by the wrong user on the client.
	    - Executables with the setuid or setgid mode turned
	      on will allow logins on the client to run as the
	      wrong users.

	PHKL_7458:
	K200 HP-UX10.01 is the NFS file server.  "/db1" is exported.
	exportfs
	/db1    -anon=65534,root=g40
	/db2    -anon=65534,root=g40
	/home   -anon=65534,root=g40
	/usr/itl.obj -anon=65534,root=g40
	These are HFS file systems.  g40 HP-UX9.04 is the client.
	The customer executed NFS mount command on g40.
	1- mount k200:/db1/itloper /users/itloper/itl
	2- mount k200:/db1/itloper/itc /users/itloper/itc
	The system rebooted at step 2 by trap type 18.

	PHKL_7334:
	page reference traps were not correctly set on I/O pages.

	PHKL_7301:
	The code for processes Virtual Address Space duplication
	(used by fork) inserted pregions in the associated region
	lists before setting the VAS field va_proc.  This opened a
	time window where set_purge_SIDS() could dereference a
	proc pointer before it was actually set. The system would
	then trap and panic with a data page fault.

	The defect would occur when using mprotect(2), and this
	panic was mostly observed on systems running SAP R/3.

	PHKL_7244:
	We only allow a public mapping if we are mapping shared (and
	thus read-only for now) and if the file's modes meet our
	tests (no ACL, and mode at least r-xr-xr-x).

	In one case, /usr (where the shared libraries reside) on
	their system turns out to be a JFS file system.  JFS does
	not know about ACL and does not manipulate the va_acl bit in
	'struct vattr', when VOP_GETATTR() is called.  HFS on the
	other hand will set va_acl to 1 if that file has ACL and 0,
	if not.  Since, smmap() does not initialize the structure
	(on the stack) and calls VOP_GETATTR() and then looks at the
	va_acl bit, it can either be a 1 or a 0, randomly.  It is
	not correct for VM subsystem to assume all file systems
	support ACL and will correct set/reset the bit in the vattr
	structure as there could be third party file system (eg:
	JFS) that do not support it.

	When the libc.1 is first mmapp'ed, the smmap() code finds
	that va_acl is set (wrongly), it decides not to do public
	mapping (the region does not get the RHDL_MMAP_PUBLIC set)
	and so the protection id is set to the second quadrant space
	id of that process, instead of the public protection id of 0

	Since, the informix (oninit) processes have a lot of shared
	memory segments, each of which has an unique protection id,
	and constantly accesses the shared memory region and execute
	library code, the protection id (pid3 & pid4) is getting
	thrashed in the pid registers.  The instruction protection
	fault code is getting thrashed in the pid registers.  The
	instruction protection fault code (IMEM_PROT) does not make
	use of the cache (kept per processor) and always uses the
	trap (long) path to update the protection registers.  Hence,
	you see about 30-40% of the time in trap code.

	The following fix will ensure that the shared library text
	segments always get the public protection id.  This will cut
	down the number of protection faults seen in informix.

	PHKL_7187:
	lvmerge could merge an lvol back with all PEs marked as
	current and yet the syncing of stale LTGs had failed.
	lv_recover_ltg(k), which does the syncing, had no mechanism
	to return error to lv_table_reimage(k). lv_table_reimage(k)
	therefore returns success when this may not be the case

	PHKL_7167:
	See defect

	PHKL_7164:
	LVM user data was aligned to a 1k bound.  For sequential
	i/o directed to disk arrays which stripe the data, i/os
	with a buf size approaching the stripe depth of the device
	(64k for the Edison array) would require the device to
	perform two i/os for each i/o directed to the device.
	LVM was not always closing and releasing devices held when
	volume groups were deactivated or when a device was used
	as a Service Guard Cluster Lock disk.

	PHKL_7124:
	PHKL_6763 caused the kernel routine direnter() to return
	EDEADLK if it couldn't lock all the directories and files
	it needed to.  The change was made to fix a deadlock problem
	caused by moving directories, and it was thought that
	direnter() could only hit this state for the DE_RENAME
	function.  The problem can also be hit for large, popular
	files like /etc/passwd which are being linked to a new
	name.  The fix is to have ufs_link() retry direnter() if
	EDEADLK is returned, just as ufs_rename() did in the
	original patch.

	PHKL_7050:
	Customer were using pvmove command to move data from
	one disk to another.  For some reason, the mirrored
	logical volume to be moved contains unallocated
	physical extents.  system panic: lv_reducelv extmap

	For vgchange: Couldn't activate volume group problem, it is
	easily duplicatable following the replacement
	of a disk mech, or with a simply vgcfgrestore/vgchange
	combination to the right disks.
	- connect an HP-FL disk to system, then do the following:
	  Create a volume group with this disk in it
	  (automatically runs vgcfgbackup)
	  pvcreate -f /dev/rdsk/c0t2d0
	  mkdir /dev/vgdan
	  mknod /dev/vgdan/group c 64 0x090000
	  vgcreate /dev/vgdan /dev/dsk/c0t2d0

	  then de-activate the vg: vgchange -a n /dev/vgdan
	  restore the lvm data structures to the disk:
	     vgcfgrestore -n /dev/vgdan /dev/rdsk/c0t2d0

	  At this point, any further activation of the VG will fail:
	    vgchange -a y /dev/vgdan
	    vgchange: Couldn't activate volume group "/dev/vgpam":
	    Invalid argument

	The lv_cache_deactivate inflight panics problem were:
	When user is doing deactivate a volume group, if mwc cache
	is not clean, the deactivation routine will detect it and
	panic.  When the last user LV (/dev/vgXX/lvol[1-n]) of a
	volume group is closing and the controlling LV
	(/dev/vgXX/group) still opened, it should also wait for
	all outstanding MWC cache writes to be finished.

	PHKL_6969:
	if a LVM disk have bad sectors on the bad block directory
	area. vgchange -a y VG will cause the panic.

	PHKL_6852:
	The customer has a T500 & HPUX10.01 and ran into the problem
	with "/etc/lvmtab is out of date with running kernel" when
	doing a vgcfgbackup.  The current PV value is set to 7,
	while there are only 6 disks in the /etc/lvmtab.

	PHKL_6801:
	None.

	PHKL_6748:
	Directory renaming code locks the new parent directory and
	reads the new parent directory buffer, thereby locking it.
	It then drops the new parent directory lock and later tries
	to reacquire it.  If a lookup process has gotten the new
	parent directory lock in the meantime and is sleeping
	waiting for the new parent directory buffer to be free,
	deadlock!

	PHKL_6653:
	No defect with the kernel. Although this patch does allow
	a patch to fix a defect with fuser -k to work.

	PHKL_6484:
	If truncating a file with a hole in the middle of it causes
	the new end of file to fall in the middle of a hole, a new
	disk block must be allocated to hold the end of file.  If
	the file system is full and a block can't be allocated,
	itrunc was panicing.

	There is a remote possibility that removing an Access
	Control List could cause file system data loss or
	corruption.  This defect was found during a code
	inspection, and has never (to our knowledge) been seen
	by any customer.

SR:
	1653096131 1653144071 1653153247 1653162669 1653166785
	1653202754 4701311381 4701311415 4701312934 4701314179
	4701314302 4701315317 4701317131 4701318352 4701319335
	4701319541 4701321554 4701321695 4701321711 4701330647
	4701334698 4701334839 4701336412 4701339945 4701355321
	4701358523 5000697466 5000714352 5003281469 5003300400
	5003309385 5003314252 5003314633 5003318667 5003323493
	5003325506 5003330910 5003334961 5003341925 5003365692
	5003366930

Patch Files:
	/usr/conf/h/pstat.h
	/usr/conf/lib/libhp-ux.a(asm_excp.o)
	/usr/conf/lib/libhp-ux.a(asm_tlb.o)
	/usr/conf/lib/libhp-ux.a(asm_tlb2_0.o)
	/usr/conf/lib/libhp-ux.a(cpd.o)
	/usr/conf/lib/libhp-ux.a(dmem.o)
	/usr/conf/lib/libhp-ux.a(dump.o)
	/usr/conf/lib/libhp-ux.a(fmpyfadd.o)
	/usr/conf/lib/libhp-ux.a(fpudispatch.o)
	/usr/conf/lib/libhp-ux.a(hdl_fault.o)
	/usr/conf/lib/libhp-ux.a(hdl_mprotect.o)
	/usr/conf/lib/libhp-ux.a(hdl_policy.o)
	/usr/conf/lib/libhp-ux.a(hdl_trans.o)
	/usr/conf/lib/libhp-ux.a(init_main.o)
	/usr/conf/lib/libhp-ux.a(kern_exec.o)
	/usr/conf/lib/libhp-ux.a(kern_fork.o)
	/usr/conf/lib/libhp-ux.a(kern_mman.o)
	/usr/conf/lib/libhp-ux.a(lpmc.o)
	/usr/conf/lib/libhp-ux.a(lv_config.o)
	/usr/conf/lib/libhp-ux.a(lv_lvm.o)
	/usr/conf/lib/libhp-ux.a(machdep.o)
	/usr/conf/lib/libhp-ux.a(pm_config.o)
	/usr/conf/lib/libhp-ux.a(pm_procdup.o)
	/usr/conf/lib/libhp-ux.a(proc_iface.o)
	/usr/conf/lib/libhp-ux.a(pstat.o)
	/usr/conf/lib/libhp-ux.a(snakes_rs232.o)
	/usr/conf/lib/libhp-ux.a(subr_prf.o)
	/usr/conf/lib/libhp-ux.a(sysV_shm.o)
	/usr/conf/lib/libhp-ux.a(sys_ki.o)
	/usr/conf/lib/libhp-ux.a(trap.o)
	/usr/conf/lib/libhp-ux.a(vm_devswap.o)
	/usr/conf/lib/libhp-ux.a(vm_machdep.o)
	/usr/conf/lib/libhp-ux.a(vm_mmap.o)
	/usr/conf/lib/libhp-ux.a(vm_pdir1_1.o)
	/usr/conf/lib/libhp-ux.a(vm_pdir2_0.o)
	/usr/conf/lib/libhp-ux.a(vm_pregion.o)
	/usr/conf/lib/libhp-ux.a(vm_region.o)
	/usr/conf/lib/libhp-ux.a(vm_remap.o)
	/usr/conf/lib/libhp-ux.a(vm_vas.o)
	/usr/conf/lib/libhp-ux.a(vm_vhand.o)
	/usr/conf/lib/liblvm.a(lv_block.o)
	/usr/conf/lib/liblvm.a(lv_cluster_lock.o)
	/usr/conf/lib/liblvm.a(lv_defect.o)
	/usr/conf/lib/liblvm.a(lv_hp.o)
	/usr/conf/lib/liblvm.a(lv_ioctls.o)
	/usr/conf/lib/liblvm.a(lv_kdb.o)
	/usr/conf/lib/liblvm.a(lv_lvsubr.o)
	/usr/conf/lib/liblvm.a(lv_malloc.o)
	/usr/conf/lib/liblvm.a(lv_mircons.o)
	/usr/conf/lib/liblvm.a(lv_pbuf.o)
	/usr/conf/lib/liblvm.a(lv_phys.o)
	/usr/conf/lib/liblvm.a(lv_schedule.o)
	/usr/conf/lib/liblvm.a(lv_strategy.o)
	/usr/conf/lib/liblvm.a(lv_subr.o)
	/usr/conf/lib/liblvm.a(lv_syscalls.o)
	/usr/conf/lib/liblvm.a(lv_vgda.o)
	/usr/conf/lib/liblvm.a(lv_vgsa.o)
	/usr/conf/lib/liblvm.a(sh_vgsa.o)
	/usr/conf/lib/liblvm.a(slvm_comm.o)
	/usr/conf/lib/liblvm.a(slvm_schedule.o)
	/usr/conf/lib/libufs.a(ufs_dir.o)
	/usr/conf/lib/libufs.a(ufs_inode.o)
	/usr/conf/lib/libufs.a(ufs_vnops.o)
	/usr/conf/master.d/core-hpux
	/usr/conf/space.h.d/core-hpux.h
	/usr/include/sys/pstat.h

what(1) Output:
	/usr/conf/h/pstat.h:
		pstat.h $Date: 96/01/18 13:52:54 $ $Revision: 1.9.89
			.13 $ PATCH_10.10 (PHKL_6653)
	/usr/conf/lib/libhp-ux.a(asm_excp.o):
		asm_excp.s $Date: 96/02/29 17:42:54 $ $Revision: 1.2
			1.89.7 $ PATCH_10.10 (PHKL_6801)
	/usr/conf/lib/libhp-ux.a(asm_tlb.o):
		asm_tlb.s      $Date: 96/04/19 10:15:17 $ $Revision:
			 1.5.89.7 $ PATCH_10.10 (PHKL_7334)
	/usr/conf/lib/libhp-ux.a(asm_tlb2_0.o):
		asm_tlb2_0.s   $Date: 96/04/19 10:15:22 $ $Revision:
			 1.2.90.6 $ PATCH_10.10 (PHKL_7334)
	/usr/conf/lib/libhp-ux.a(cpd.o):
		cpd.c $Date: 97/06/19 17:48:48 $ $Revision: 1.3.89.9
			 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/libhp-ux.a(dmem.o):
		dmem.c  $Date: 96/02/29 17:49:24 $ $Revision: 1.50.8
			9.14 $ PATCH_10.10 (PHKL_6801)
	/usr/conf/lib/libhp-ux.a(dump.o):
		dump.c $Date: 97/06/19 17:49:41 $ $Revision: 1.7.89.
			8 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/libhp-ux.a(fmpyfadd.o):
		fmpyfadd.c  $Date: 96/02/29 17:58:11 $ $Revision: 1.
			2.89.5 $ PATCH_10.10 (PHKL_6801)
	/usr/conf/lib/libhp-ux.a(fpudispatch.o):
		fpudispatch.c  $Date: 96/02/29 17:49:31 $ $Revision:
			 1.4.89.8 $ PATCH_10.10 (PHKL_6801)
	/usr/conf/lib/libhp-ux.a(hdl_fault.o):
		hdl_fault.c    $Date: 97/04/25 14:21:38 $ $Revision:
			 1.10.89.15 $ PATCH_10.10 (PHKL_10873)
	/usr/conf/lib/libhp-ux.a(hdl_mprotect.o):
		hdl_mprotect.c  $Date: 96/11/13 16:15:50 $ $Revision
			: 1.3.89.10 $ PATCH_10.10 (PHKL_9073)
	/usr/conf/lib/libhp-ux.a(hdl_policy.o):
		hdl_policy.c  $Date: 96/11/13 16:16:03 $ $Revision:
			1.11.89.17 $ PATCH_10.10 (PHKL_9073)
	/usr/conf/lib/libhp-ux.a(hdl_trans.o):
		hdl_trans.c  $Date: 96/02/29 17:49:20 $ $Revision: 1
			.10.89.13 $ PATCH_10.10 (PHKL_6801)
	/usr/conf/lib/libhp-ux.a(init_main.o):
		init_main.c $Date: 97/06/24 16:48:12 $ $Revision: 1.
			116.89.29 $ PATCH_10.10 (PHKL_11523)
	/usr/conf/lib/libhp-ux.a(kern_exec.o):
		kern_exec.c    $Date: 97/06/24 16:52:46 $ $Revision:
			 1.89.89.39 $ PATCH_10.10 (PHKL_11523)
	/usr/conf/lib/libhp-ux.a(kern_fork.o):
		kern_fork.c    $Date: 96/04/19 10:19:21 $ $Revision:
			 1.67.89.45 $ PATCH_10.10 (PHKL_7334)
	/usr/conf/lib/libhp-ux.a(kern_mman.o):
		kern_mman.c   $Date: 97/04/25 14:15:18 $ $Revision:
			1.33.89.13 $ PATCH_10.10 (PHKL_10873)
	/usr/conf/lib/libhp-ux.a(lpmc.o):
		lpmc.c  $Date: 96/02/29 17:49:26 $ $Revision: 1.4.89
			.7 $ PATCH_10.10 (PHKL_6801)
	/usr/conf/lib/libhp-ux.a(lv_config.o):
		lv_config.c $Date: 97/06/19 16:23:19 $ $Revision: 1.
			8.89.11 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/libhp-ux.a(lv_lvm.o):
		lv_lvm.c $Date: 97/06/19 17:48:28 $ $Revision: 1.2.8
			9.3 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/libhp-ux.a(machdep.o):
		machdep.c   $Date: 96/08/07 10:29:00 $ $Revision: 1.
			120.89.16 $ PATCH_10.10 (PHKL_8201)
	/usr/conf/lib/libhp-ux.a(pm_config.o):
		pm_config.c $Date: 97/06/24 16:50:45 $ $Revision: 1.
			3.89.13 $ PATCH_10.10 (PHKL_11523)
	/usr/conf/lib/libhp-ux.a(pm_procdup.o):
		pm_procdup.c  $Date: 96/04/16 13:37:04 $ $Revision:
			1.8.89.20 $ PATCH_10.10 (PHKL_7301)
	/usr/conf/lib/libhp-ux.a(proc_iface.o):
		proc_iface.c   $Date: 96/04/19 10:19:12 $ $Revision:
			 1.2.89.15 $ PATCH_10.10 (PHKL_7334)
	/usr/conf/lib/libhp-ux.a(pstat.o):
		pstat.c $Date: 97/06/19 17:49:07 $ $Revision: 1.14.8
			9.37 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/libhp-ux.a(snakes_rs232.o):
		snakes_rs232.c $Date: 96/04/19 10:16:51 $ $Revision:
			 1.5.89.3 $ PATCH_10.10 (PHKL_7334)
	/usr/conf/lib/libhp-ux.a(subr_prf.o):
		subr_prf.c   $Date: 97/02/12 10:04:14 $ $Revision: 1
			.63.89.12 $ PATCH_10.10 (PHKL_10103)
	/usr/conf/lib/libhp-ux.a(sysV_shm.o):
		sysV_shm.c    $Date: 96/11/13 16:13:08 $ $Revision:
			1.53.89.9 $ PATCH_10.10 (PHKL_9073)
	/usr/conf/lib/libhp-ux.a(sys_ki.o):
		sys_ki.c   $Date: 96/11/08 12:42:51 $ $Revision: 1.1
			5.89.26 $ PATCH_10.10 (PHKL_8920)
	/usr/conf/lib/libhp-ux.a(trap.o):
		trap.c        $Date: 96/04/19 10:12:44 $ $Revision:
			1.165.89.33 $ PATCH_10.10 (PHKL_7334)
	/usr/conf/lib/libhp-ux.a(vm_devswap.o):
		vm_devswap.c  $Date: 96/02/29 17:53:41 $ $Revision:
			1.15.89.21 $ PATCH_10.10 (PHKL_6801)
	/usr/conf/lib/libhp-ux.a(vm_machdep.o):
		vm_machdep.c  $Date: 96/11/13 16:16:06 $ $Revision:
			1.152.89.38 $ PATCH_10.10 (PHKL_9073)
	/usr/conf/lib/libhp-ux.a(vm_mmap.o):
		vm_mmap.c     $Date: 96/11/13 16:13:01 $ $Revision:
			1.13.89.21 $ PATCH_10.10 (PHKL_9073)
	/usr/conf/lib/libhp-ux.a(vm_pdir1_1.o):
		vm_pdir1_1.c  $Date: 96/04/19 10:15:13 $ $Revision:
			1.2.90.12 $ PATCH_10.10 (PHKL_7334)
	/usr/conf/lib/libhp-ux.a(vm_pdir2_0.o):
		vm_pdir2_0.c  $Date: 96/02/29 17:49:36 $ $Revision:
			1.2.90.10 $ PATCH_10.10 (PHKL_6801)
	/usr/conf/lib/libhp-ux.a(vm_pregion.o):
		vm_pregion.c  $Date: 96/11/13 16:12:57 $ $Revision:
			1.12.89.15 $ PATCH_10.10 (PHKL_9073)
	/usr/conf/lib/libhp-ux.a(vm_region.o):
		vm_region.c   $Date: 96/11/13 16:13:10 $ $Revision:
			1.17.89.7 $ PATCH_10.10 (PHKL_9073)
	/usr/conf/lib/libhp-ux.a(vm_remap.o):
		vm_remap.c  $Date: 96/02/29 17:53:43 $ $Revision: 1.
			6.89.10 $ PATCH_10.10 (PHKL_6801)
	/usr/conf/lib/libhp-ux.a(vm_vas.o):
		vm_vas.c      $Date: 96/11/13 16:12:21 $ $Revision:
			1.14.89.30 $ PATCH_10.10 (PHKL_9073)
	/usr/conf/lib/libhp-ux.a(vm_vhand.o):
		vm_vhand.c    $Date: 96/11/13 16:13:04 $ $Revision:
			1.16.89.17 $ PATCH_10.10 (PHKL_9073)
	/usr/conf/lib/liblvm.a(lv_block.o):
		lv_block.c   $Date: 97/06/19 16:23:18 $ $Revision: 1
			.8.89.6 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_cluster_lock.o):
		lv_cluster_lock.c   $Date: 97/06/19 16:22:52 $ $Revi
			sion: 1.3.89.13 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_defect.o):
		lv_defect.c $Date: 97/06/19 16:23:17 $ $Revision: 1.
			8.89.14 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_hp.o):
		lv_hp.c $Date: 97/06/18 16:16:19 $ $Revision: 1.8.89
			.37 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_ioctls.o):
		lv_ioctls.c    $Date: 97/06/18 16:17:26 $ $Revision:
			 1.8.89.22 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_kdb.o):
		lv_kdb.c   $Date: 97/06/19 16:22:56 $ $Revision: 1.6
			.89.6 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_lvsubr.o):
		lv_lvsubr.c   $Date: 97/06/19 16:23:13 $ $Revision:
			1.8.89.28 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_malloc.o):
		lv_malloc.c   $Date: 97/06/19 16:22:54 $ $Revision:
			1.8.89.6 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_mircons.o):
		lv_mircons.c $Date: 97/06/19 16:23:11 $ $Revision: 1
			.8.89.18 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_pbuf.o):
		lv_pbuf.c   $Date: 97/06/19 16:23:09 $ $Revision: 1.
			8.89.8 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_phys.o):
		lv_phys.c $Date: 97/06/19 16:23:07 $ $Revision: 1.8.
			89.12 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_schedule.o):
		lv_schedule.c $Date: 97/06/19 16:23:05 $ $Revision:
			1.8.89.15 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_strategy.o):
		lv_strategy.c $Date: 97/06/19 16:23:04 $ $Revision:
			1.8.89.13 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_subr.o):
		lv_subr.c $Date: 97/06/19 16:23:02 $ $Revision: 1.8.
			89.17 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_syscalls.o):
		lv_syscalls.c $Date: 97/06/18 16:17:32 $ $Revision:
			1.8.89.13 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_vgda.o):
		lv_vgda.c   $Date: 97/06/19 16:23:00 $ $Revision: 1.
			8.89.12 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(lv_vgsa.o):
		lv_vgsa.c $Date: 97/06/19 16:22:57 $ $Revision: 1.8.
			89.20 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(sh_vgsa.o):
		sh_vgsa.c $Date: 97/06/18 16:17:34 $ $Revision: 1.2.
			89.13 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(slvm_comm.o):
		slvm_comm.c $Date: 97/06/19 16:22:48 $ $Revision: 1.
			2.89.7 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/liblvm.a(slvm_schedule.o):
		slvm_schedule.c $Date: 97/06/19 16:22:29 $ $Revision
			: 1.2.89.17 $ PATCH_10.10 (PHKL_11432)
	/usr/conf/lib/libufs.a(ufs_dir.o):
		ufs_dir.c      $Date: 96/06/07 11:25:31 $ $Revision:
			 1.17.89.16 $ PATCH_10.10 (PHKL_8461)
	/usr/conf/lib/libufs.a(ufs_inode.o):
		ufs_inode.c   $Date: 96/01/10 13:40:27 $ $Revision:
			1.42.89.15 $ PATCH_10.10 (PHKL_6484)
	/usr/conf/lib/libufs.a(ufs_vnops.o):
		ufs_vnops.c    $Date: 96/08/14 17:02:08 $ $Revision:
			 1.24.89.25 $ PATCH_10.10 (PHKL_8292)
	/usr/conf/master.d/core-hpux:
		core-hpux   $Date: 97/06/24 16:56:43 $ $Revision: 1.
			2.89.12 $ PATCH_10.10 (PHKL_11523)
	/usr/conf/space.h.d/core-hpux.h:
		core-hpux.h    $Date: 97/06/24 16:58:57 $ $Revision:
			 1.2.89.21 $ PATCH_10.10 (PHKL_11523)
	/usr/include/sys/pstat.h:
		pstat.h $Date: 96/01/18 13:52:54 $ $Revision: 1.9.89
			.13 $ PATCH_10.10 (PHKL_6653)

cksum(1) Output:
	351025292 35051 /usr/conf/h/pstat.h
	3931996340 3108 /usr/conf/lib/libhp-ux.a(asm_excp.o)
	1169006284 41224 /usr/conf/lib/libhp-ux.a(asm_tlb.o)
	2534453469 14452 /usr/conf/lib/libhp-ux.a(asm_tlb2_0.o)
	1501320178 11172 /usr/conf/lib/libhp-ux.a(cpd.o)
	2366865159 8908 /usr/conf/lib/libhp-ux.a(dmem.o)
	823013355 12692 /usr/conf/lib/libhp-ux.a(dump.o)
	986054333 17224 /usr/conf/lib/libhp-ux.a(fmpyfadd.o)
	3159161935 10932 /usr/conf/lib/libhp-ux.a(fpudispatch.o)
	3165764122 12940 /usr/conf/lib/libhp-ux.a(hdl_fault.o)
	2430971761 15792 /usr/conf/lib/libhp-ux.a(hdl_mprotect.o)
	3733008830 11660 /usr/conf/lib/libhp-ux.a(hdl_policy.o)
	3260695634 8880 /usr/conf/lib/libhp-ux.a(hdl_trans.o)
	1456938706 18400 /usr/conf/lib/libhp-ux.a(init_main.o)
	3447400473 15732 /usr/conf/lib/libhp-ux.a(kern_exec.o)
	613436261 14236 /usr/conf/lib/libhp-ux.a(kern_fork.o)
	2668531744 3816 /usr/conf/lib/libhp-ux.a(kern_mman.o)
	3103322954 6824 /usr/conf/lib/libhp-ux.a(lpmc.o)
	557290747 26576 /usr/conf/lib/libhp-ux.a(lv_config.o)
	157892121 102088 /usr/conf/lib/libhp-ux.a(lv_lvm.o)
	2666974195 30032 /usr/conf/lib/libhp-ux.a(machdep.o)
	579935598 5980 /usr/conf/lib/libhp-ux.a(pm_config.o)
	1140687353 6408 /usr/conf/lib/libhp-ux.a(pm_procdup.o)
	1374434585 12912 /usr/conf/lib/libhp-ux.a(proc_iface.o)
	2713070676 23112 /usr/conf/lib/libhp-ux.a(pstat.o)
	3705526801 5964 /usr/conf/lib/libhp-ux.a(snakes_rs232.o)
	2432253643 16484 /usr/conf/lib/libhp-ux.a(subr_prf.o)
	3611221468 8428 /usr/conf/lib/libhp-ux.a(sysV_shm.o)
	2093087402 59652 /usr/conf/lib/libhp-ux.a(sys_ki.o)
	403410752 21680 /usr/conf/lib/libhp-ux.a(trap.o)
	2090489607 15296 /usr/conf/lib/libhp-ux.a(vm_devswap.o)
	3561121188 88400 /usr/conf/lib/libhp-ux.a(vm_machdep.o)
	354670341 20668 /usr/conf/lib/libhp-ux.a(vm_mmap.o)
	874224294 39144 /usr/conf/lib/libhp-ux.a(vm_pdir1_1.o)
	2738926588 29600 /usr/conf/lib/libhp-ux.a(vm_pdir2_0.o)
	1975125224 11700 /usr/conf/lib/libhp-ux.a(vm_pregion.o)
	3495003745 11328 /usr/conf/lib/libhp-ux.a(vm_region.o)
	4138546304 8704 /usr/conf/lib/libhp-ux.a(vm_remap.o)
	3420929275 12968 /usr/conf/lib/libhp-ux.a(vm_vas.o)
	632083219 15924 /usr/conf/lib/libhp-ux.a(vm_vhand.o)
	2081605216 2360 /usr/conf/lib/liblvm.a(lv_block.o)
	3655535219 10124 /usr/conf/lib/liblvm.a(lv_cluster_lock.o)
	3243873833 12032 /usr/conf/lib/liblvm.a(lv_defect.o)
	88337327 41764 /usr/conf/lib/liblvm.a(lv_hp.o)
	3329440977 26764 /usr/conf/lib/liblvm.a(lv_ioctls.o)
	1066660338 732 /usr/conf/lib/liblvm.a(lv_kdb.o)
	1276756336 34468 /usr/conf/lib/liblvm.a(lv_lvsubr.o)
	4053459022 2416 /usr/conf/lib/liblvm.a(lv_malloc.o)
	1611741354 18132 /usr/conf/lib/liblvm.a(lv_mircons.o)
	4247065797 5876 /usr/conf/lib/liblvm.a(lv_pbuf.o)
	1829049887 6784 /usr/conf/lib/liblvm.a(lv_phys.o)
	1010723492 19996 /usr/conf/lib/liblvm.a(lv_schedule.o)
	2539597430 7436 /usr/conf/lib/liblvm.a(lv_strategy.o)
	1892668715 8584 /usr/conf/lib/liblvm.a(lv_subr.o)
	2989147741 18152 /usr/conf/lib/liblvm.a(lv_syscalls.o)
	78888363 8700 /usr/conf/lib/liblvm.a(lv_vgda.o)
	1823992439 12764 /usr/conf/lib/liblvm.a(lv_vgsa.o)
	1683985499 28684 /usr/conf/lib/liblvm.a(sh_vgsa.o)
	3955021617 23012 /usr/conf/lib/liblvm.a(slvm_comm.o)
	1923340697 6980 /usr/conf/lib/liblvm.a(slvm_schedule.o)
	602422226 19660 /usr/conf/lib/libufs.a(ufs_dir.o)
	3942758326 25636 /usr/conf/lib/libufs.a(ufs_inode.o)
	640680162 30648 /usr/conf/lib/libufs.a(ufs_vnops.o)
	3941969772 16352 /usr/conf/master.d/core-hpux
	2591358869 18864 /usr/conf/space.h.d/core-hpux.h
	351025292 35051 /usr/include/sys/pstat.h

Patch Conflicts: None

Patch Dependencies:
	s700: 10.10: PHCO_8459

Hardware Dependencies: None

Other Dependencies: None

Supersedes:
	PHKL_6484 PHKL_6653 PHKL_6748 PHKL_6801 PHKL_6852 PHKL_6969
	PHKL_7050 PHKL_7124 PHKL_7164 PHKL_7167 PHKL_7187 PHKL_7244
	PHKL_7301 PHKL_7334 PHKL_7458 PHKL_7668 PHKL_7868 PHKL_8082
	PHKL_8201 PHKL_8292 PHKL_8393 PHKL_8461 PHKL_8714 PHKL_8790
	PHKL_8920 PHKL_8928 PHKL_9073 PHKL_10103 PHKL_10201 PHKL_10270
	PHKL_10827 PHKL_10873 PHKL_11121 PHKL_11432

Equivalent Patches:
	PHKL_11524:
	s800: 10.10

Patch Package Size: 1350 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_11523

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

		swinstall -x autoreboot=true -x match_target=true \
			-s /tmp/PHKL_11523.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_11523.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_11523.  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_11523.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_11523.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions:
	When this patch is installed the default environment size
	is 20478 bytes. To enable the system to use the larger
	environment size of 2048000 bytes, the following
	steps must be followed.

	1. A new tunable called `large_ncargs_enabled' must be
	   defined in the sytem file in the following manner
		large_ncargs_enabled 1

	2. A new kernel must be built (using this system file)
	   and the sysytem rebooted.

	To return to the default environment size, the new tunable
	needs to be either removed from the system file, or its
	value set to zero. A new kernel should then be built
	(using the modified system file) and the machine
	rebooted.
	Due to the number of objects in this patch, the
	customization phase of the update may take more than 10
	minutes.  During that time the system will not appear to
	make forward progress, but it will actually be installing
	the objects.