Patch Name: PHKL_29981 Patch Description: s700_800 11.11 VxVM 3.5m Kernel Cumulative Patch 05 Creation Date: 04/03/04 Post Date: 04/03/29 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: VxVM 3.5m Filesets: VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_32,v=HP VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_32,v=VERITAS VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_64,v=HP VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_64,v=VERITAS Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_29981: CORRUPTION HANG PANIC ABORT PHKL_29611: ABORT PHKL_28794: CORRUPTION HANG PANIC PHKL_28459: CORRUPTION HANG ABORT PHKL_27971: CORRUPTION HANG ABORT Category Tags: defect_repair general_release critical panic halts_system corruption Path Name: /hp-ux_patches/s700_800/11.X/PHKL_29981 Symptoms: PHKL_29981: ( SR: 8606335902 CR: JAGae96956) vxdmpadm loops if only one disk drive,of a particular Enclosure type on the system. ( SR: 8606337430 CR: JAGae98437) Data corruption with DRL if system crashes before klogging plex detach. ( SR: 8606337427 CR: JAGae98434) A/P array Failback does not work in CVM DMP. ( SR: 8606337426 CR: JAGae98433) Hang observed in kmsg sender. ( SR: 8606337424 CR: JAGae98431) CVM: Need to avoid duplicating effort in setting MR mode. ( SR: 8606337421 CR: JAGae98428) vxassist mirror fails to mirror vlumes of size greater than 1TB. ( SR: 8606337419 CR: JAGae98426) dmprestore daemon should not restore failed path of shared A/P array. ( SR: 8606298209 CR: JAGae61709) set NODE_NOLICENSE of dmp metanode when a path is added without license. ( SR: 8606338461 CR: JAGae99414) system gets panic due to duplicate records in kernel. ( SR: 8606340885 CR: JAGaf01795) Ted assert when doing an IO from a slave in vol_open_device. ( SR: 8606340884 CR: JAGaf01794) Race in starting the thread by vxvm_startdaemon. ( SR: 8606337386 CR: JAGae98393) crashconf -r panic if one of the mirror disk goes to NODE_FAILED state. ( SR: 8606337385 CR: JAGae98392) apauto_set_pgr() clears SCSI-3 PR keys during import. ( SR: 8606337383 CR: JAGae98390) potential deadlock in vxdmpadm enable path. ( SR: 8606337382 CR: JAGae98389) GLM slave node stuck in vxg_api_deinitlock via volcvm_gab_joindone. ( SR: 8606302143 CR: JAGae65504) uncorrectable read and write errors while using cvm on 4-node cluster. ( SR: 8606312087 CR: JAGae74906) MC/SG Cluster Join Fails (3 nodes). ( SR: 8606337206 CR: JAGae98232) freeing unalloc'ed memory in volcvm_reconfig_thread. ( SR: 8606337194 CR: JAGae98220) VOLOBJ_MV_FIRSTW flag incorrectly remains set causing close to hang. ( SR: 8606337191 CR: JAGae98217) recursive mutex_enter in dmp_get_shared_lock, CVM on Clariion using only DMP without PowerPath. ( SR: 8606337190 CR: JAGae98216) Map manipulations are not properly interlocked with I/Os on slave. ( SR: 8606337433 CR: JAGae98440) rv_ibc_send needs to handle the case if garbage value is returned. ( SR: 8606337432 CR: JAGae98439) ted_assert in vol_rv_service_update:protocol error (1). ( SR: 8606337431 CR: JAGae98438) Increase array sizes in rv_test.h. ( SR: 8606340880 CR: JAGaf01790) 1) VVR: Copying a resent packet over a packet that had been correctly received earlier can lead to data corruption. 2) VVR: Ted assert vol_rp_halt:1b hit on primary while running snaprestore#13 3) VVR: srvmtest 7.19 fails due to data corruption at secondary. 4) VVR: Panic in vol_rvdcm_log_update. 5) VVR: vxtrace dropped event messages reported in VRAS log. 6) VVR: Optimize/save vol_ru_find_first_update_to_send updateq search operation. 7) VVR: Panic due to inconsistent srl header entries. PHKL_29611: ( SR: 8606321462 CR: JAGae83930) midaemon aborts with a core dump immediately on starting. Here is the error message in /var/opt/perf/status.mi: midaemon: Wed Jul 23 08:50:13 2003 unexpected ioctl VOL_DUMP_OBJECTS failure disabling VxVM collection No such file or directory. PHKL_28794: ( SR: 8606290921 CR: JAGae54764) potential corruption and race condition problems in VxVM After fixing JAGae28656 there are still potential corruption and race condition problems in VxVM. ( SR: 8606312257 CR: JAGae75075) FSQA cfs stress hit "BAD TRAP: type=31 in vxglm due to NULL pointer dereference" during 3.5MP testing on two nodes. Panic occured on secondary node. The stack trace is as follows: panicsys() vpanic() panic() die() trap() sfmmu_tsb_miss() prom_rtt() vxg_find_lock() vxg_find_nid() vxg_recv_release() vxg_process_nmsg() vxg_worker_thread() thread_start() ( SR: 8606312259 CR: JAGae75077) MP failover/failback does not work for A/P arrays with DBED/AC ( SR: 8606294241 CR: JAGae57961) DMP database corruption if no full VxVM product installed ( SR: 8606312268 CR: JAGae75086) (1) VVR:RU:secondary(4.0) panic due to Memory Overrun error while running efb_dcmactive.tc (2) VVR: vxrlink att fails displaying negative number for volumes over 1TB (3) VVR : Optimize vol_ru_delete_updates update search loop (4) VVR: TCL test 3.3.19 hangs - rv_ackdone_limit = 0 (5) VVR: Do not include SRL write time in data vol avg write time stats (6) VVR : Hit ted_assert in uw_copy_packet ( SR: 8606312262 CR: JAGae75080) cvm: keys not registered on shared disk group ( SR: 8606305709 CR: JAGae68757) HPUX swapdev and vol driver have duplicate major numbers ( SR: 8606312266 CR: JAGae75084) panic in dmp_dev_t_to_nodep() ( SR: 8606307106 CR: JAGae70141) ic63: ORCA : mediainit fails on all disks PHKL_28459: ( SR: 8606287939 CR: JAGae51872) Cache opens on HP to solve performance problems ( SR: 8606264326 CR: JAGae28656) memory corruption in vol_dump_disks ( SR: 8606274833 CR: JAGae38910) memory corruption in vol_dump_disks ( SR: 8606271670 CR: JAGae35878) kernel cannot use lbcopy with a merged IO buffer address ( SR: 8606297935 CR: JAGae61437) various VVR related fixes ( SR: 8606297936 CR: JAGae61438) various changes ported from Solaris platform PHKL_27971: ( SR: 8606280650 CR: JAGae44620 ) 'vxsync' ioctl doesn't work for clustered filesystems. ( SR: 8606280641 CR: JAGae44611 ) FMR doesn't resync properly after a disk replacement. ( SR: 8606282276 CR: JAGae46228 ) CVM DCO updated protocol does not handle cluster reconfiguration properly. ( SR: 8606279205 CR: JAGae43261) After we do a 'vradmin -f startrep', the RLINKS are not going into CONNECT state. ( SR: 8606282277 CR: JAGae46229) It can take a very long time to come backup up after a reboot if we have a large SRL. SRL is a relative term, here we have 16gb column stripe volume. ( SR: 8606282280 CR: JAGae46232) In the case of persistent FMR, where a disk is replaced by some other disk, and the system was to crash at this moment, we would have data corruption. ( SR: 8606282283 CR: JAGae46235) When using VVR, in the case where srlprot is set to autodcm or dcm and SRL overflows, there is not console mesage to tell user that SRL has overflowed. ( SR: 8606282284 CR: JAGae46236) VVR: RVG avg write size stat incorrectly includes reads if in passthru. ( SR: 8606280644 CR: JAGae44614 ) VVR: A possible data loss while restoring secondary using primary checkpoint or secondary checkpoint. ( SR: 8606280643 CR: JAGae44613 ) VVR: All vx* commands will hang when rlink tries to go to dcm mode due to SRL overflow and at the same time rlink disconnects (due to network outage). ( SR: 8606280639 CR: JAGae44609 ) Machine will hang because of a race condition while doing configuration changes (vxedit, vxassist vxrelayout...etc) Defect Description: PHKL_29981: ( SR: 8606335902 CR: JAGae96956) "vxdmpadm getdmpnode enclosure=xyz" command hangs if only 1 disk belonging to enclosure xyz is present on the system. This problem is hit on systems where the dev_t of dmpnode associated with bootdisk happens to be zero.As a result, the IOCTL DMP_GET_DMPNODES_ON_DA loops infinetely, the reason being that startnode is passed as ZERO, and ZERO happens to be the dev_t of dmpnode controlling the bootdisk. The fix is to pass DMPNODEV as the 'startnode' in the IOCTL argument.The DMP kernel should then compare for DMPNODEV in startnode and not ZERO, as done currently.With this, a dev_t of ZERO is recognised as valid. ( SR: 8606337430 CR: JAGae98437) If there is a write error on one of the plexes of a volume(which has a DRL) and if the system crashes before the klog entry for the plex is written, there is a possibility of data corruption. The fix is to call voldrl_unlog after the plex detach is klogged.This function is called even if DRL is DETACHED. ( SR: 8606337427 CR: JAGae98434) The problems relates to DMP on shared luns in CVM. You start with a lun that is primary on controller A.If controller A fails (or is placed offline,or the cable is pulled), the luns failover correctly to the secondary controller. However, once the problem is repaired we want to put the luns back in their desired location. The normal method for this is a "vxdctl enable". However this does not work. Any active luns stay in place.This problem does not happen if we are not configured for CVM. The solution is to do failback of A/P array after failover of primary path. ( SR: 8606337426 CR: JAGae98433) Hang in kmsg sender was observed.It was caused by the following scenario.The receiver received a message and wanted to send a response. It invoked vol_kmsg_sendmsg which calls a gab function. The gab function hung since it needed a lock that is held by another gab thread. The second gab thread is the dispatch queue of a CPU. The active thread on this CPU is kmsg_sender which is looping waiting for vol_kmsg_receiver_sleeping to be 1.Since this thread never gives up the CPU the gab thread never gets to run,which means the receiver will never run. This is a deadlock. The solution is to give up the CPU,while in the loop so that we don't monopolise the CPU. ( SR: 8606337424 CR: JAGae98431) Application does SET_MIRROR_RECOV mode whenever any of their processes open a vxvm device.For volumes in shared dgs, that translates into a ring broadcasts.Currently,we dont check whether the recovery mode is already set to APPL or not.This check will save us some ring broadcasts which cause slow throughput in the messaging subsystem in the kernel. The solution is to avoid ring broadcast if the ioctl wants to change the recovery mode to say xyz, and the volume's recovery mode is already xyz. ( SR: 8606337421 CR: JAGae98428) vxassist mirror fails to mirror vlumes of size greater than 1 TB.vxtask list shows the percentage task completion in "negative" values. The soultion is to cast correctly to "long long" and remove incorrect casts to "int". ( SR: 8606337419 CR: JAGae98426) The restore daemon should not restore failed path for shared node of APG arrays.The fix is to by-pass restore for shared AP nodes. ( SR: 8606298209 CR: JAGae61709) The DMPNODE_NOLICENSE flag is not getting set on the dmp metanode when a path is added without a license. The fix is to set the DMPNODE_NOLICENSE flag on the DMP metanode during the second phase of reconfiguration in the routine dmp_add_devnode(). ( SR: 8606338461 CR: JAGae99414) Panic was hit in vol_dev_strategy due to the duplicate disk records in the kernel. panic+0x6c assfail+0x3c scsi_strategy+0x2c4 dmp_dev_strategy+0x1dc gendmpstrategy+0x49c dmpstrategy+0x10 vol_dev_strategy+0x11c voldiskiostart+0x58c vol_subdisksio_start+0x40 volkcontext_process+0x3f8 volkiostart+0x6dc volstrategy+0x64 physio+0x530 vxvm_physio+0x20 volrdwr+0x9c volwrite+0x14 vol_write+0x3c spec_rdwr+0x160 vno_rw+0x1ac write+0x108 syscall+0x62c syscallinit+0x55c The solution is to remove the kernel disk object whenever the vxconfigd level disk removal happens. ( SR: 8606340885 CR: JAGaf01795) The sync variable "vdev_openclose_sync" is initialized in the vol_set_device(),but during a slave join,this function is not invoked.So,when a I/O is done on the slave after join,the "sync" variable is accessed without being allocated,and this causes assertion failure. To fix this,"vdev_openclose_sync" is now allocated in vol_add_device() and de-allocated in vol_rm_device().This ensures that the allocations/deallocations are matched from all code paths. ( SR: 8606340884 CR: JAGaf01794) Race in starting the vxvm threads causes panic.vxvm_startdaemon() is the function which start the kernel threads,in some cases before parent thread completes the process/thread creation,it tries to start another thread daemon,which leads to a race and panic. The solution is by introducing a new flag vxvmd_proc_complete,which will only get set if the parent thread creation process is completely done.Other thread creations are dependent on this flag.This will avoid the race. ( SR: 8606337386 CR: JAGae98393) crashconf -r panic if one of the mirror disk goes to NODE_FAILED state. The stack is as follows 0) panic+0x6c 1) wait_for_lock+0x380 2) sl_retry+0x1c 3) volget_rwspinlock+0x9c 4) vol_strategy+0x28 5) vx_dev_strategy+0xd8 6) vx_pagestrategy+0x2a4 7) vx_snap_strategy+0xec 8) vx_bcache_strategy+0x48 9) bwrite+0xe8 10) bflush1+0x2e8 11) bflush+0x14 12) update+0xa0 13) panic_boot+0x170 14) boot+0x2bc 15) panic+0x154 16) report_trap_or_int_and_panic+0x94 17) trap+0xedc 18) nokgdb+0x8 19) dumpconf_vxvm+0xa4 20) vol_ioctl+0x50 21) dumpconf_device+0x31c 22) crashconf+0x2fc 23) syscall+0x750 24) $syscallrtn+0x0 At the boot time,the mirror boot disk is not associated to the object,with the result that sd_disk is NULL. Without checking this,dumpconf_vxvm() is trying to access the sd_disk,and this caused the panic. The fix is not to access the disk that is not in the object list. ( SR: 8606337385 CR: JAGae98392) apauto_set_pgr() clears SCSI-3 PR keys during import.This routine causes removal of the registration keys.This should happen only during failover when a previously passive path is activated as a result of the failure of the active path. The fix is to distinguish dg create/import condition from path failover while calling apauto_set_pgr so that the pgr key check can be done correctly. ( SR: 8606337383 CR: JAGae98390) A potential deadlock was discovered in the vxdmpadm enable path.Take a situation,wherein we have taken a dmp exclusive lock(all cpus) and issued an inquiry.Now say in the mean time,i/os are done'd by the underlying driver gendmpiodone will be invoked in an interrupt conext.The cpu spu level will be raised(as the interrupt is getting processed on the cpu).We try to get "shared" lock in the interrupt context which will hang until the inquiry returns.But say all the cpus have interrupts being processed and all the cpus have their spu levels raised.So,when the inquiry returns,it will need an interrupt context to get processed,but since all the cpus have higher spu levels,it will also block and hence a deadlock. The fix is to release the exclusive lock before calling dmp_inquiry. ( SR: 8606337382 CR: JAGae98389) After a reboot of all nodes in a cluster such that the master comes up with i/o fencing disabled and other nodes start with fencing enabled,the master imports disk groups without PGR due to i/o fencing disabled. At this point,one of the slaves hung with the following stack. vxg_api_deinitlock+0x64() volcvm_gab_joindone+0x148() volcvm_join_complete+0x38() volsioctl_real+0x57c() ioctl+0x1f8() syscall_trap32+0xa8() The problem was due to the following.The node which was the joiner in the previous reconfiguration,and is still in the process of finishing its join,failed to do GLM_API_RESTART for the next Port u reconfiguration.While trying to finish its own join,this node(which hung),and is in the state of joindone_in_progress,returns without doing GLM_API_RESTART and thus later gets stuck waiting for a message from the other node. This will happen in a very small window. The fix is to remove the check for joindone_in_progress and let the node do GLM_API_RESTART. ( SR: 8606302143 CR: JAGae65504) DMP path/node disable messages are observed followed by uncorrectable read/write error messages on subdisks.This is because the SCSI inquiry returns the lun status as either None(Incomplete) or Queue Full. Code has been added to detect the failure conditions(INCOMPLETE and Queue_Full) via SCSI inquiry.A new return code DMP_PATH_RETRY is used in this case,by dmp_analyze_error() to notify the dmp_process_errorq() that the I/O operation has to be retried under the control of dmp_retry_count. ( SR: 8606312087 CR: JAGae74906) While running hazard(c16) tests on a 3-node cluster,2 of the nodes are rebooted and when they come up,they fail to join the cluster. The reason is that before a joiner enters the kernel(in volcvm_cluster_join), another reconfig happens.Because of this,volcvm_handle_joinp_state, resets the joinp state and the cluster_pinfo tid.Then when the joiner's vxconfigd finally enters the kernel,it should have found the timeout reset and exited.However,the child vxconfigd,sets the timeout in cluster_establish.So,volcvm_cluster_join finds this timeout set and proceeds. The fix is to change the node state to CVM_JOIN_NOP,in reconfigd,before signalling to vxconfigd. ( SR: 8606337206 CR: JAGae98232) There is a bug in volcvm_reconfig_thread routine,which can cause a panic,since we were trying to free memory which was not allocated in the first place. The solution is to avoid freeing memory which is unallocated. ( SR: 8606337194 CR: JAGae98220) In CVM environment,the log writer processes would hang with a thread showing vol_mvcvm_close() waiting for VOLOBJ_MV_FIRSTW to be reset. To resolve this,Recovery mode is set to VOL_MR_DEFAULT only when volume is not appdirty and clusterwide vdev_nodeopen map is cleared.Also,the first opens and last closes are now serialised at voldevice level. ( SR: 8606337191 CR: JAGae98217) Description: Bring up a 2 node cvm cluster,start fencing and create shared diskgroup with fence enabled.Create a shared volume on one disk.Run dd and i/o the shared volume from both the nodes.Pulling the primary path from CVM master,panics the master node referencing recursive mutex_enter in panic string. panicsys() vpanic() panic() mutex_panic() mutex_vector_enter() dmp_get_shared_lock() get_dnp() dmp_pgr_do_register() apauto_set_pgr() gen_lun_failover() dmp_process_errorq() dmp_errd_loop() thread_start() The dmp error daemon thread was attempting a failover while it panicked.An attempt to get the lock that's already owned by the dmp errror daemon thread forced the panic. Fix is to release the dmp shared lock before calling the failover code. ( SR: 8606337190 CR: JAGae98216) There might be a silent data corruption in the volumes which have FMR enabled.This corruption could happen only on volumes that are part of CVM shared diskgroups. The could potentially occur while executing any commands (like vxassist..) on the shared volumes with FMR on. To fix this,It is now ensured that FMR map manipulations in the master are done after the I/Os are quiesced on all nodes. ( SR: 8606337433 CR: JAGae98440) rv_ibc_send needs to handle the case if garbage value is returned.It was observed that the primary was hung while executing ./ibc_send -g rootdg rvol01 0 rep01 MSG1 60 Stack shows the following ?() vmem_xalloc() + 488 vmem_alloc() + 34 segkmem_xalloc() + 40 segkmem_alloc() + 70 vmem_xalloc() + 3d8 vmem_alloc() + 34 kmem_alloc() + b4 kmem_zalloc() + a0 Xvolmemzalloc() + 134 make_ibc_msg() + d8 rv_ibc_send() + 1cc rv_ibc_start() + 54 vol_rv_ioctl() + 1a0 vol_objioctl() + 3b8 vxioioctl() + 444 cdev_ioctl() + 40 spec_ioctl() + b0 ioctl() + 1e4 The fix is to return EINVAL if args.msg_len < 0 (in rv_ibc_send). ( SR: 8606337432 CR: JAGae98439) The problem is reproducible with the following steps 1. fill data in SRL on primary. 2. reboot primary. 3. takeover at secondary. 4. when resync starts reboot the new primary. 5. Assert hit on the old primary. NOTICE: vol_rv_service_update:protocol error (1) debug_enter() ted_call_demon() vol_rv_service_update() vol_rv_service_message_start() voliod_iohandle() voliod_loop() The assert is hit due to the fact that the "slave_state of the replica" is in STARTUP state and there is no error on the replica. Analysis: 1.After a takeover , the old primary comes up and starts sending SRL replay data. 2.The new Primary flushes all the DATA in the DCM and sends MAKE_SECONDARY message and before the ack comes, the new primary is rebooted.The new Primary would have done the following before reboot 1.get the ACK for MAKE_SECONDARY which would put the rp in VOLRP_PHASE_DCM_WAIT. 2.Next processing in VOLRP_PHASE_DCM_WAIT, would set the inconsistent flag, signal to vold and then try to send START_UPDATE message.Hence,rlink would be in inconsistent state. 3.The Old primary actually converts from "acting secondary ->secondary" and since the rlinks get disconnected,it sets the rp state to VOLRP_SETSTATE_INACTIVE(rp); 4.The new primary comes up and on connection we have - old primary moves to VOLRP_SETSTATE_STARTUP(rp) in nmcom_assoc_replica(). It will move to VOLRP_SETSTATE_ACTIVE only when a START_UPDATE msg comes. - The new primary moves to "VOLRP_PHASE_SEND_SRL_REPLAY" in vol_rp_state_trans(). - After SRL_REPLAY, it moves to DCM_WAIT/DCM_REPLAY phase and starts sending updates and the first service update will result in an assert,since we haven't yet sent the START UPDATE message. The fix is to set the VOLRP_SETSTATE_ACTIVE , in case we get a MAKE_SECONDARY message. ( SR: 8606337431 CR: JAGae98438) There was need to increase size of a few structures in rv_test.h for various cases such as when rlink name is greater than 20 characters. ( SR: 8606340880 CR: JAGaf01790) 1) VVR: Copying a resent packet over a packet that had been correctly received earlier can lead to data corruption. VVR uses CRC checksum to ensure stronger checking of it's data even if it escapes the UDP/TCP checksum.However,if this packet was already correctly copied in an earlier send (and this is just a resend of the packet by the VVR network layer),VVR,in some circumstances, can overwrite the corrupted data over the good data even before it performs its own CRC checksum and discovers that the packet was corrupted.In such cases,we get a data corruption on the VVR secondary. Resolution is to make sure that we don't copy a resent data packet once it has already been applied successfully in an earlier attempt. 2) VVR: Ted assert vol_rp_halt:1b hit on primary while running snaprestore#13 The problem happens during DCM replay of multiple volumes,when we get a disconnect.If disconnect happens at the point when the di_updateq has updates from more than 1 volume,then we end up comparing the di_replay_addr of another volume with the current update's block_num in the ted assert. The fix is to remove the ted assert and to set the di_replay_addr to start from 0. 3) VVR: srvmtest 7.19 fails due to data corruption at secondary. srvmtest 7.19 testcase ,when run in loop,fails once a while due to check-pattern error on secondary data volume.To avoid this problem,vol_ru_process_data_ack() should check both catchupq and main updateq to find the first pending update if ri->pending_update is set to NULL. 4) VVR: Panic in vol_rvdcm_log_update. The solution is to avoid logging the update into dcm if the volume is no longer associated with rvg during srl flush. 5) vxtrace dropped event messages reported in VRAS log. when RVG object tracing is enabled, the ios happening on the associated volumes are getting traced.Since the application is actively reading and writing to the data volumes,for each io a corresponding trace event gets added to the trace buffer.But vradmind is not reading this trace fast enough, hence the log shows "Dropped events" message. The solution is to disable the RVG tracing in vradmind. 6) VVR: Optimize/save vol_ru_find_first_update_to_send updateq search operation. The solution is to set ri->current_update with last choosen update by find_firstfunction in VOLRP_PHASE_SENDING phase. 7) VVR: Panic due to inconsistent srl header entries. The panic resulted during recovery due to inconsistent fields in the SRL header.The current_header got updated while it was being copied to the flushing header,resulting in the flushing header having inconsistent addr and seqno fields. PHKL_29611: ( SR: 8606321462 CR: JAGae83930) midaemon dumps core because of the change in certain VxVM kernel structures. The new structures have extra fields and so the copyout is done for the new structure. New ioctls have been written for glance so that glance gets the same structure it expects and not the new structure, to avoid corruption of user land buffers. PHKL_28794: ( SR: 8606290921 CR: JAGae54764) After fixing JAGae28656 there are still potential corruption and race condition problems in VxVM. So there are at least three problems to be addressed. 1. The corruption in vol_dump_disks() - after allocating memory and doing bcopy() in the second loop - check if ptr >= loc_ptr+loc_size 2. Insert extra protection with volktenter/volktexit in voldg_delete_finish() as well as other voldg() routines. 3. In vol_dump_disks_glance() check the value set by vol_dump_disks() in kdd_tmp structure. If it is smaller than original count - only return valid structures. If it is bigger - probably return EINVAL? ( SR: 8606312257 CR: JAGae75075) FSQA 3.5MP d4 cfs stress hits BAD TRAP: type=31 in vxglm due to NULL pointer dereference Panic occurred on secondary node: panicsys() vpanic() panic() die() trap() sfmmu_tsb_miss() prom_rtt() vxg_find_lock() vxg_find_nid() vxg_recv_release() vxg_process_nmsg() vxg_worker_thread() thread_start() The kernel panicked because a memory buffer (from the kmem_cache_128) does not exhibit that it is a free piece of memory. The memory buffer (0x300094aae88) is on the free list but at an offset of 0x58 into this free memory buffer, it has a value of 0x300 instead of 0xdeadbeef -- thus the panic. This will be fixed by checking -1 from volilock_request and checking that in volcvm_msg_req_mlock. ( SR: 8606312259 CR: JAGae75077) DMP failover/failback does not work for A/P arrays with DBED/AC. Found that the dmp error processing daemon was processing an I/O error for an dmpnode when its configured as shared (DMPNODE_SHARED), as if it was a local failover case. For DMPNODE_SHARED devices, all failover and error processing is managed via CVM. I have tested 3 scenarios: 1. DMP failover and failback during read/write dd on both Master and Slave on a single volume on a private disk group. (No DBED/AC) 2. DMP failover and failback during read/write dd on both Master and Slave on a single volume on a shared disk group. (No DBED/AC) 3. DMP failover and failback during read/write dd on both Master and Slave on a single volume on a shared disk group. (with DBED/AC) ( SR: 8606294241 CR: JAGae57961) DMP database corruption if no full VxVM product installed The customer add an XP disk on-line to a VxVM configuration and the alternate path goes in "error" status. After the boot the status changed to "NoLicense". Since they have the base product this behavior could be correct, but the customer complained the error status triggers many alarms in his environment. He accept the "NoLicense" status but status but not the "error" status. On the boot everything is ok since dmp_do_reconfig() is called before flag DA_NO_LIC is set in dmp_set_lic(). After that when someone restarts the daemon the flag is already set and gen_find_pathset() is not called. Hence a new DMP structure is created. The solution would be to skip DA_NO_LIC flag check and call gen_find_pathset() regardless. ( SR: 8606312262 CR: JAGae75080) CVM: keys not registered on shared disk group When I import a cvm disk group, I expect to see keys from each node registered on the disks in the disk group that will be used for data disk fencing. The problem seems to be identical to the HP SCSI passthru kernel bug. We need to set the SCTL_FROM_KERNEL flag in the sctl->flags field. ( SR: 8606305709 CR: JAGae68757) HPUX swapdev and vol driver have duplicate major numbers We have had a problem surface in 11.23 testing where the block major number of the vol driver was the same as that of the predefined HPUX swapdev (3). The effect of this was to not set the system global swapdev with the dev_t of the vol driver. The fix was to correctly end the comment statement. ( SR: 8606312266 CR: JAGae75084) Panic in dmp_dev_t_to_nodep() System panic'ed in dmp_dev_t_to_nodep(). Apparently, the level1 table has changed because of "vxdctl enable", so we couldn't find the dmp node for the completed I/O. Reproduction steps are: (a) Unconfigure a multi-pathing node. (b) Start I/Os on both the subpaths, exposed as separate dmpnodes. (c) Merge them back (d) Panic In the reproduction case above, when merging is tried in step (c) through vxdctl enable, DMP finds that DMPNODE_IS_VMDISK is set on c1t0d6 and this dmpnode is to be retained, while destroying all other merging members. If other merging members happen to be with this flag, then clearly there has been a data corruption. DMP assumes that there will be one and only dmpnode with DMPNODE_IS_VMDISK flag set (and which is to be retained). All other merging members, which would be destroyed, are not expected to have DMPNODE_IS_VMDISK flag set. Otherwise, there is data corruption as happened in the reproduction scenario. The suggested fix is to make sure all the IO's are drained in that dmpnode before freeing it. ( SR: 8606307106 CR: JAGae70141) HP: ic63: ORCA : mediainit fails on all disks Running "mediainit -v /dev/rdsk/xxxxx" after unmounting the disks fails on all disks that I tried with the message: # mediainit -v /dev/rdsk/c0t0d0 scsi_mi: Unable to set EXCLUSIVE mode: Device busy Resolution: Open cache is enabled when vxconfigd is coming up during system startup and then it is flushed and disabled. If the user wants to enable it, he may do so using vxdctl. ( SR: 8606312268 CR: JAGae75086) (1) VVR:RU:secondary(4.0) panic due to Memory Overrun error while running efb_dcmactive.tc While running efb_dcmactive.tc between 3.5(primary) and 4.0(secondary), secondary falls to kadb with following message: 30000228200: NOTICE: VxVM vxio V-5-3-0 Memory Overrun! Caller rv_update.c(438 7) Ptr 225f550 Size a00 30000229280: WARNING: VxVM vxio V-5-0-0 BREAKPOINT: , arg=0 300002e6ba0: In following code, we overrun writing into buffer packet_updates as memiter.mi_size should have been initialized with "packed_size" instead of "size" in packing mode. Difference in "size" and "packed_size" is due to 4 bytes difference in sizeof(vol_ru_update_span_t) and vol_ru_update_span_t_pack_sz due to compiler padding. (2) VVR: vxrlink att fails displaying negative number for volumes over 1TB A customer (MILLENIUM PARTNERS LP) ran into this problem (i.e., (re)start their data replication, see more detailed description below) after they grew one of their data volumes over 1 TB. After growing volume from somewhere below 1 TB to 2498432000 sectors, received the following errors: # vxrlink att dr_prime_rlk vxvm:vxrlink: ERROR: Size of secondary datavol drnfs6v1 (len=-1796535296) <=== integer overflow!? does not match size of primary (len=2498432000) vxvm:vxrlink: INFO: errors in connecting with remote host vradmind fills in the value of vi_len after getting it from remote vradmind. In order to support replication between 3.5x and 4.0, added new field vol_length. vradmind fills in value of vol_size or vol_length into vi_len depending on the 3.5 or 4.0 version. (3) VVR: Optimize vol_ru_delete_updates update search loop In case of NULL nio case if we set ri->current_update as the update we got from recent search in l_ru_find_first... () so that next time we don't have to go through the entire queue to find next unsent update, it solves above problem. This change itself gives around 14% saving in cpu usage and 8% gain in IO throughput. (4) VVR: TCL test 3.3.19 hangs - rv_ackdone_limit = 0 Examination showed the secondary contained 51 SIOs stuck on the rv_msg_ackq. An errorhandler SIO was trying to disconnect, but was hung trying to serialize waiting for the other 51 SIOs to complete. Further examination showed that rv_ackdone_limit was set to 0. It only gets set to 0 in volrp_sendsio_done(). It is supposed to get reset to its default value in vol_rv_send_ack_done(). The problem is that rv_ackdone_limit can get set to 0 even when rv_acksent is already 0, because not all acknowledgments go on the rv_msg_ackq. This creates a lot of "missing tag" type errors, which the secondary handles by sending back an acknowledgment. But this acknowledgment is sent immediately, rather than being put on the rv_msg_ackq, so rv_acksent never gets incremented. Fix is to always set rv_ackdone_limit back to the default value when rv_acksent is 0, even if rv_acksent was 0 initially, by changing the code in vol_rv_send_ack_done(). (5) VVR: Do not include SRL write time in data vol avg write time stats We fixed this in 3.5 as well as people use vxstat output to feed VRAdvisor, and sometimes to check degradation in datavolume writes due to VVR. (6) VVR: Hit ted_assert in uw_copy_packet There are two problems here: 1. The bugs in our code with not calculating the databytes and range_iter correctly in case the packet size is less than pt_incoming_pkt_sz. 2. The padding and extra bps in the mblk chain even though we don't expect to see those. Maybe that's a quirk of the streams/udp implementation and may not be in our code. This inc will be used to fix (1) and fixing that should take care of (2) even if it happens. PHKL_28459: ( SR: 8606287939 CR: JAGae51872) Cache opens on HP to solve performance problems Open/close sequences on HP are a major performance hit. Opens should be cached. Resolution: Open/close of devices are now cached. ( SR: 8606264326 CR: JAGae28656) Memory corruption in vol_dump_disks 1. Corruption in vol_dump_disks() We calculated the count and dropped the lock! Memory is allocated based on the count. The bcopy() writes beyond the allocation. 2. The second problem is a race condition. It looks like the list of the disk groups is protected by voldglist_lock, but the list of the disks belong to each disk group is not protected at all! Sometimes in various routines they use disk structure lock, but this is the way to protect the structure itself and not the whole linked list. For instance voldg_delete_finish() places the disks into NULLDG (most of 572 disks in the system are in NULLDG). Resolution: Code was added to make sure that the count is verified before data is copied and to remove the race condition. ( SR: 8606274833 CR: JAGae38910) Memory corruption in vol_dump_disks. This solution checked in here will be a kernel based solution. The PLEX_DETACH ioctl will be changed so that FMR is enabled in the ioctl. A null will be used from this ioctl to indicate that we don't know what the plex will be (snapshot, detach) after what ioctl. So, the call to volfmr_update_info() is deferred until the actual transaction when it is set to the snapshot as needed. In addition to simply turning on FMR for the PLEX_DETACH ioctl, the ioctl is klogged to make the change persistent. To accommodate this, some changes were made in the cvm_detach messages to allow for this case where only the plex and no subdisk is being detached. Similarly, an assert was removed from vxconfigd for this case. In addition vxplex was changed to allow the snapshot of plexes that have been detached (ie. the call to vxsync may detach the plex, so don't fail the transaction because of this). ( SR: 8606271670 CR: JAGae35878) kernel cannot use lbcopy with a merged IO buffer address. The short summary is that the panic was a data memory protection fault, because VxVM's VOL_K2K_COPY macro assumed that buffer cache addresses have kernel translation/protection settings, and uses lbcopy instead of privlbcopy to access them. But it turns out in this case VxVM was working with a merged IO buffer address, and those addresses are set up to inherit the translation/protection settings from the user space process issuing the IO. So the kernel actually doesn't have permission to use a regular lbcopy, and instead needs to use privlbcopy. Resolution: The fix is to either always use privlbcopy. ( SR: 8606297935 CR: JAGae61437) various VVR related fixes. ===================================================== VVR: vradmind core dumps when used with large number of volumes If startrep command is run of RDS with 256 datavolumes, vradmind on Primary dumps core. The simple/quick fix is instead of calling Log::write(tag, srcobj, catlog, format), call the other Logg:write() method from Session::sendMsgToClient(). The correct solution is to fix it in Log::write() Or at all callers of Log::write(). We will fix it the correct way in next release. ===================================================== VVR: panic while executing vxrlink -f att on primary Panic stack trace: (ted_call_demon+0x74) (ted_assert+0x114) (vol_ru_readback_process+0x528) (vol_ru_readback_log_childdone+0xa0) (volsiodone+0x738) (vol_mv_readsio_done+0xf1c) (volkcontext_process+0x634) (voldiskiodone+0xa28) (biodone+0x1e4) (gendmpiodone+0x604) (dmpiodone+0x24) (biodone+0x1e4) One of the reboot regression tests demonstrated why it was written the original way. The problem with looking only at the detached KFLAGs is that when an object is first created during recovery, it is created with the detached KFLAG set. Later on during recovery, a transaction clears this flag. If we're only looking at that flag, this transactions looks like an attach of the rlink to this code. Since none of the flags indicating -c or -a is set, the code performs an attach -f on the rlink. This results in zeroing out the SRL for this rlink, so all pending updates are lost. The code was instead looking at "STALE" (which is stored in the SRL header) in order to avoid this problem. The solution is to change the code to look at both the KFLAG and the rlink state. This way, we will only perform an attach if the rlink was truly stale - its detached KFLAG is set, and its state is set to STALE. This should eliminate both cases of false attaches. ===================================================== VVR: Panic while running vxmemstat on HP-UX Machine panic occurs running vxmemstat on HP-UX 11.11. Reason for panic is that we are holding spinlock while calling copyout() which is not permitted on HP. Resolution: In order to avoid the voliomempool_list changing during the loop, we should pre-allocate memory for nstats number of vol_mem_stats structures, fill them up in the loop and then copy all of them out in one go after releasing the lock. ===================================================== VVR: Panic while running srvmtest 32-64 debug UDP Secondary paniced on HP 32-64 debug while running srvmtest. Resolution: Changed so that only one unfreeze can be in progress at a time on any rvg. That way, we don't need to keep freeing and reallocating the SIO; we just allocate it once when the rvg is created, and free it when the rvg is freed. ===================================================== VVR: HP: "ERROR: Can't open port" when a n/w interface is brought down on primary Commands requiring a transaction fail with "ERROR: Can't open port" if a network interface used for replication is taken down on primary. Resolution: The way it used to work was that if the IP address changed, then we created a new port here, so we didn't copy the old port over from the old rlink to the new one in vol_rp_commit(). But if no port is created here, then we always copy the port in vol_rp_commit(). So we need to change vol_rp_commit() to recognize that the port is no longer created above, so it needs to do the actual IP address comparison itself before copying the ports. ===================================================== VVR: dcms on stripe-mirror volumes not working properly The following sequence does not work: # vxassist -g dg make v1 100m layout=stripe-mirror \ init=active logtype=dcm # vxassist snapstart v1 vxvm:vxplex: ERROR: Unexpected kernel error in configuration update vxvm:vxplex: ERROR: Attempting to cleanup after failure... vxvm:vxassist: ERROR: Could not attach new mirror(s) to volume v1 The problem is that certain transactions, not involving the subvolumes, lose the topvol flag on the layered volume, and then dcms won't get loaded; however the log plexes expect to find the dcm, and so their load fails. Resolution: The fix is to have further tests to see if a volume needs the topvol flag. ===================================================== VVR: config status pending flag not getting cleared when slave is paused This problem could be reproduced consistently. The 11 testcase is Grow vol, w/activity, Now with following sequence, 1. Some writes are going on in background. 2. Pause secondary rlinks. 3. Grow secondary volumes. 4. Do vxrlink verify. Now after pausing rlinks, if any of the rlinks disconnect then, start_update msg will be exchanged. This is secondary paused. Note that there will not be any configuration error. So only secondary_paused flag will be set. Resolution: Well, there is a need to send a config message, because a config change could be made while we're paused, but there is no need to send it now, and in fact we do not WANT to send it until we resume, so we should not set the pending flag until then. ===================================================== VVR: vxrlink updates command gives spurious value # vxrlink updates rsec Secondary has received an update ID of 47903.1544, last known update ID on Primary is 18446744073709551101 updates ahead Resolution: The problem is that after secondary is paused vol_rv_nio_iogen gets called and sends sec pause req. - Primary calls vol_rv_send_ack_start - Primary construct NIO in vol_rv_nio_iogen where it sets hdr->prim_seqno fine. - However after it returns back to vol_rv_send_ack_start, this needs to be initialized again. ===================================================== VVR: rlink disconnect due to ack timeout on update message I have been seeing ack timeout on update message with 3.5 TCP debug driver that includes changes for the TCP drain hang. Resolution: Removed the use of rv_msg_ackq and directly put the sio on the kc startq in vol_rv_add_msg_ackq, and hence the primary timed out on the data ack. In this case it seems like a valid timeout since the update was sitting waiting to be started and did not timeout because we didn't send the data ack in time. ===================================================== VVR: pause hang on secondary due to start_update message from primary and pause from secondary do not allow each other to complete. The pause is hanging on the secondary. Since the pause on the secondary and the start_update message coming from the primary both back off and retry when they detect a conflict now, it may be that they get in a cycle where both are retrying at about the same time, and they continuously conflict and back off. Resolution: Solution is to add: verify_remote_state $remReplica state FAIL before doing the restore. ===================================================== VVR: data corruption due to primary assuming to have sent data when it has not The configuration was 32-64 TCP,debug kernel, default no. of rlinks = 4 and rlink type = sync_async. From the log, the rlinks seem to have caught up, still check_pattern failed for one volume. This was due to either one of these: 1. Primary did not send data and thought it has sent it 2. Primary sent the data but secondary acked back without writing it on data volume 3. Secondary applied data of two different regions at the same region offset. (Remember its all pattern "TCmmulv1", so overwriting any region would not change data in that region) Resolution: Add a new bitmask field, ru_dcm_rpmask, in update structure. This will be set for all active_rps during readback. A replica's repmask will be reset in update's ru_dcm_rpmask whenever its service level ack comes on that replica or when the replica detaches. DCM bit for an update will be cleared only when ru_dcm_rpmask is zero. ===================================================== VVR: Data corruption when secondary rvg is ibc frozen and primary goes in DCM mode Created an RDS with single async rlink and datavol of size 64m. Primary SRL was 5m (small so that it can overflow) and secondary srl was 50m (big enough to overflow). Filled the volume with zeros (0 to 25000 blocks) and conformed that it got replicated. Sent ibc message and received it on secondary so that secondary rvg is frozen. Did following write_pattern's on primary - 1. write_pattern vol1 "AAAAAAAA" 0 4000 1024 Data was going on to secondary srl. Waited for rlink to be upto date. 2. ifconfig down on secondary. 3. write_pattern vol1 "BBBBBBBB" 5000 5000 1024 write_pattern vol1 "CCCCCCCC" 12000 2000 1024 Primary went into DCM mode due to primary SRL overflow. 4. ifconfig up on secondary. 5. Did vxrvg resync on primary. Some (very less) data went into secondary srl. Waited for rlink to be uptodate. 6. write_pattern vol1 "DDDDDDDD" 16000 2000 1024 At this time nothing was going on to secondary. There was outstanding writes to primary srl. 7. Did vxibc unfreeze on secondary. 8. Waited till secondary flush completes and primary rlink becomes upto date. 9. Did check_pattern on secondary. Resolution: One easy way to do this seems to be to treat the frozen rlink as if it's paused by setting its mask in the di_paused_rps field. ===================================================== VVR:Description for vxrlink stats not correct in man page. The vxrlink man page states : stats Displays network statistics for the given rlink. The command is valid on the Primary only. But the statement "The command is valid on the Primary only." is not correct and will be removed. ===================================================== VVR: vxconfigd dumps core due to mistake in "msg" Missing argument supplied in msg() to correspond to the "%s" in kernel_dg_import_kernel_objects_20(). Resolution: Add the missing argument to the msg() call. ===================================================== VVR: panic due to holding of two locks in vol_rvdcm_unlog_update Got following panic string on primary during srvmtc run: Panic string : "spin_deadlock_failure" Since there is no ordering between di_spin and state_spin, deadlock_check() paniced the system. Resolution: In vol_rp_halt(), we need to release ru_state->state_spin before calling vol_rvdcm_unlog_update(). ===================================================== VVR: VRAS logs become too large due to unnecessary debug messages I have a big configuration as follows: RDS having 1 Primary and 2 Secondaries, each RVG has 256 volumes. With this configuration, the VRAS log files (/var/vx/vras/log/vradmind_log_[A|B|C]) get filled up very quickly after running a few VRAS operations. Resolution: "clean up" the debug log files to filter out as much as possible unnecessary messages and only include in the logs those messages that are important for the debugging purposes. ===================================================== VVR: Memory leak on primary after doing IBC send This can be reproduced by 1. On primary and secondary # vxibc register app_name rvg_name 2. On primary # vxibc -m mesg send app_name rvg_name rv_ibc_send() calls vol_ibc_send_iogen() which calls volkiosetup() which finally calls vxvm_getrbuf(). So while doing IBC send we allocate a kio. Now in rv_ibc_send() we wait for SIO, and then call VOLSIO_DELETE(). However the done function for this SIO (vol_rv_write_free()) does not free the kio causing the memory leak. Resolution: Call volkiofree() to free the kio in vol_rv_write_free(). ===================================================== VVR: rvg version not maintained correctly During rvg recovery, vol_ru_read_loghdr() can return NM_ERR_LOG_IO without reading the header. Resolution: if(rv->rv_krv.krv_rvg_version != hdr->hdr_rvg_version) { but hdr is NULL. This line should be preceded by: if (ret == 0) { ===================================================== VVR: Panic in uw_copy_packet() when replication from 32->64 Running I/O's from a 32bit OS->64bit OS, results in panic if the rlinks are attached. Currently the assumption in nmcom_wait_msg is that "nmcom_hdr_t" would be part of starting "bp". Resolution: Handle bp's correctly when copying nmcom_hdr_t. ===================================================== VVR: license error during upgrade from 3.2 to 3.5 Having a problem upgrading 3.2 VVR to 3.5 VVR according to VVR Administrator's guide. Error occurs because it is expecting VRTSvlic or VRTSlic package in the 3.2 installation. Resolution: Removed check for license package from upgrade scripts. ===================================================== VVR: vxrsyncd core dumped due to problems with license check string Local cmd[] array in vxrsyncd.c currently limited to 50 bytes. If LICMGRSIG is defined then we are copying a string greater then 50 bytes to cmd. Resolution: Bump up cmd[] array. ===================================================== VRAS: vradmin delvol command should not delete an SRL vol The vradmin delvol command can only be used to delete data volume from an RDS. This command cannot be used to delete an SRL volume from an RDS. Currently, when run 'vradmin delvol' command to delete an SRL volume from an RDS, the command runs fine without any errors and successfully removes the SRL from the RDS. This is a bug and must be fixed. The correct behavior is to display an appropriate error message when 'vradmin delvol' command is used to delete an SRL volume from an RDS. Resolution: We should just give out an error message and fail the command when users try to delete an SRL volume from the RDS using the vradmin delvol command. ===================================================== VVR: rlink disconnects while doing autosync. While doing the autosync in tcp mode rlinks disconnects and connect occasionally. Problem is in function "nmcom_get_nxt_msg". In this function we get the next mblk from network using call to function "nmcom_get_next_mblk". If this function returns error then we free the data recvd so far and return the error to caller. Resolution: Save the data in pt_saved_bp and reuse it. ===================================================== VVR: panic while unloading module during autosync. If I try to unload vxio module while autosync is active on one of the rlink then system panics just after unloading the module. In vol_unload function first we set the flag vxio_unloading to true so that other threads can exit before module is unloaded. After setting this flag, vol_reset_kernel() is called. If this function returns any error then vol_unload function just returns without doing any further processing. Once the control returns from vol_unload(), OS frees all the memory allocated to module and module's address space becomes invalid after this point. Resolution: vol_reset_kernel, if it is called from vol_unload. ===================================================== VVR: vradmind core dumps when ibc scripts pathname is long test/TCs/ibc/ibc_sample_vxfs_snapshot/main.tc fails The .failed file contains : # /usr/sbin/vradmin -all ibc vras_rvg sample_vxfs_snapshot on host vxos5 exited with (1) with the message: vradmin: ERROR: Lost connection to host fondue; terminating command execution. vradmin: ERROR: Lost connection to host vxos6; terminating command execution. vradmind is dumping core because of writing beyond array boundary in Proc.C. Resolution: Change char message[64] to char message[256] and use snprintf instead of sprintf. ===================================================== VVR: hang due to deadlock among active, restartq and serial sio While running srvmtest, doing the writes on vvr volumes hung. After that no vxvm command is responding. Resolution: Solution to the problem is to inactivate the sio after log header flush and then restart it. This will let the serial sio to finish and then sio can start. ===================================================== VVR: Garbled error msg displayed when running multiple vradmin commands While a vradmin (session) command is running, issue another vradmin session command, the error message returned by the later command may contain garbage. + Issue the command on Secondary host, the error message returned contains garbage string: vradmin: ERROR: RDS 71342160419176 is processing another command or a configuration change. ^^^^^^^^^^^^^^ Resolution: The error token wasn't set. This results in the above error message displayed with some garbage string (in Primary case, the RDS name was correct because the value of error token set by some previous function *happened" to be RVG name, so it appears to be correct). ===================================================== VVR: vxrvg recover takes long time since SRL header is not flushed. If writes are done on a RVG with paused rlinks, (vxbench of 16 threads/8k 100000 writes), vxrvg recovery takes a long time after a driver unload/load. Resolution: The correct thing would be to check for ops_till_flush <= 0 in vol_rv_flush_loghdr_free() or reset ops_till_flush in case if we are about to throttle RVG in vol_rv_flush_loghdr(). ===================================================== VVR: vradmin gives error messages in mixed languages for non-english locale VVR is going to be only L1. VVR messages are across 2 message catalogs: - vxvmmsg.str (used by vxrlink, vxvol, vxrvg etc.) - vrasmsg.str (used by vradmin, vradmind, vrnotify etc) Resolution: To give a consistent error messages, vradmin should give messages only in 1 language (in the current case English). This can be achieved by simply setting the default locale for vradmind by setting LC_MESSAGES=C in the vradmind startup files. ===================================================== VVR: SRL recovery takes very long time because of resyncing of plexes while upgrading our server (which has a mirrored srl) and following the documented procedure in the 3.5 admin guide, the vvr_upgrade_finish script had trouble with a mirrored srl. Resolution: We can fix this problem by changing the SRL state to ACTIVE if it is to be associated to the RVG. This should be done as one transaction. ===================================================== VVR: vrnotify sends incorrect notifications for certain events There is a bug in vrnotify, which results in vrnotify can send wrong alerts or notifications. For examples, when a Secondary RVG becomes frozen due to IBC message, the notification that vrnotify currently sends out says that the RVG is unfrozen instead of frozen, and vice versa for the case of RVG becomes unfrozen. Resolution: Besides sending some wrong notification, vrnotify also has another problem of NOT sending any alerts/notifications for RVG objects. Some examples of such notifications are: RVG changes role from Secondary to Primary or from Primary to Secondary. ===================================================== VVR: rlink state remains "PAUSE" even after resume in case of migration 1. Create a RDS 2. pause secondary rlink 3. Run makesecondary on primary 4. Run makeprimary with -M option on secondary. 5. Run resume on new primary State of new secondary's rlink still remains PAUSE. Resolution: Add missing parenthesis in kernel_set_object_rvol(). ===================================================== VVR: associating a volume after role-reversal leads to config error This incident will be used to 1. add code to manage rv_last_tag on secondary 2. add tc for this. Resolution: One way to fix this is to maintain the rv_last_tag on the Secondary. ===================================================== VVR: Remnant config info on secondary after primary rvg is deleted can cause data corruption 1. Create secondary with v1,v2,v3 2. Create primary with v1,v3 3. Remove and recreate primary with v1,v2 At the end of step 2, the rv_version in the secondary was "2". When we removed the primary, we do not flush this variable in the secondary. So when the primary is recreated with v1,v2 the comparison of primary and secondary rv_version in vol_rv_service_config succeeds and vol_rv_verify_config() is not called. Hence there is no configuration error detected, although at this point, the tag of v2 on primary is the same as that of v3 on secondary. Writes to primary v2 will now get replicated to v3 on secondary leading to data corruption! Furthermore, if v3 is now associate to the primary, a configuration error will be detected and replication paused. Resolution: We could special case this problem by including some information in a config message indicating that this rvg has just been created, so any previous config information on the secondary can be disposed of. ===================================================== VVR: Panic in nmcom_server_start due to NULL msgb returned by kmsg_sys_rcvudata The problem is that, (kmsg_unitdata_t *) ud)->udata.udata_mp is NULL and hence a call to KMSG_SYS_MORE caused the panic. Resolution: Need to handle the care where kmsg_sys_rcvudata returned success, but msgb was NULL. We could just continue back to the while loop if msg len after kmsg_sys_rcvudata turns out to be zero. ===================================================== VVR: Data loss in autosync of vol w/regsz > 512 blks & rlink discon/connects During autosync of a volume with a DCM region size greater than 256 KB, if the Rlink disconnects and reconnects, then it is possible that VVR may miss synchronizing some blocks of the data volume resulting in data loss on the Secondary. Resolution: In vol_rp_halt, set di_replay_addr with the lowest block number for which update is pending. ===================================================== VVR: Can remove DCM from volume while srlprot=autodcm. System panics when DCM required I was discussing DCM's and their relationship with Volumes in a VVR RDS with other TSEs. We wanted to know if you could remove the DCMs from Volumes that actively part of an RVG. We found that while autosync occurs, this cannot happen. However, while the RDS is "fully synced", an admin can remove the last DCM from a volume using "vxplex -o rm dis ". This doesn't affect anything until the SRL fills to capacity. Even with the default "srtprot=autodcm". We see the SRL grow until 95%, when it purges to DCM, then it finds that the DCM is missing, and system panics on the primary. Resolution: In req_vol_commit() set hasdcm=1 for both dcm/autodcm so that if there are any attached rlinks, we would check for valid dcm-logs. (currently we check only for dcm) ===================================================== VVR : very high RTs in 3.5l(udp) after some vxbench runs This is the first in a series of incidents likely to be opened as a result of performance analysis of (mainly) vxbench runs comparing vvr 3.2 with 3.5 on HP-UX. While this work is being done in collaboration with the vvr/hp team in Pune, feedback is welcome from vvr dev at large. The idea is to open incidents for - performance problems of any kind - cases where there is a noticeable difference in vvr behavior between 3.2 and 3.5 Resolution: To fix this problem, change VOL_DRV_USECTOHZ(t) to guarantee that it will return at least 1 tick. ===================================================== VVR: changing packet_size during replication leads to data corruption and/or panic Changing packet_size in connect state or during replication leads to silent data corruption and/or panic. In summary, the problem is that port->pt_incoming_pkt_size on secondary gets updated with next connect only. When user changed packet_size, primary will start sending packets of new packet_size (hence its pkt_id range will also change), but secondary keeps using old pt_incoming_pkt_size. Hence all calculation regarding msg->packets_missing, pkt_mask, dest_offset in uw_copy_packet() on secondary go wrong. Resolution: Forcing disconnect when changing packet_size is better as that's transparent to user and as per usability, its better then just prevention. ===================================================== VVR: replication hangs if packet_size > 65504 is set and an io of size >= 64K is given If packet_size is set more than 65504 and an io of size >= 64k comes, replication will hang for ever. Resolution: #define VOL_MAX_UDPIP_HDR_SIZE 68 #define VOL_MAX_IP_DATAGRAM_SIZE 65535 #define VOL_RP_MAX_PKT_SIZE (((VOL_MAX_IP_DATAGRAM_SIZE - \ VOL_MAX_UDPIP_HDR_SIZE - \ VOL_RP_PKT_SIZE_ALIGN + 1) / \ VOL_RP_PKT_SIZE_ALIGN) * \ VOL_RP_PKT_SIZE_ALIGN) And vxedit won't allow packet_size more than VOL_RP_MAX_PKT_SIZE. ( SR: 8606297936 CR: JAGae61438) Various changes ported from Solaris. Customer escalation wherein applications hung with large number of I/Os stuck in VxVM I/O mempool's waitq. The mempool's waitq is maintained in FIFO order and hence none of the requests will be satisfied until the first request is satisfied. There could be a scenario wherein huge no. of I/Os will be stuck behind a large I/O request in the beginning of the wait Q while the size of the mempool is lesser than that is required to satisfy the large I/O request. Resolution: This incident will be fixed by fixing vxckdiskrm.c. Instead of just checking the volume for EBABLED, check for both ENABLED and ACTIVE will fix the problem. Now vxdiskadm gets the state of the volume as bad, so it will warn user that the volume will go bad after removing the plex. ===================================================== SxRT3.5 vxinstall appends disk names to Menu line While running vxinstall against VM 3.5 during custom install, vxinstall appends the disk name to the Menu line. Before: Installation options for disk Disk_3 Menu: VolumeManager/Install/Custom/Disk/Disk_1/ Disk_2/Disk_3 1 Install as a pre-existing disk. (encapsulate) 2 Install as a new disk. (discards data on disk!) 3 Leave this disk alone. Select an operation to perform: 3 after: Installation options for disk Disk_4 Menu: VolumeManager/Install/Custom/Disk/Disk_1/ Disk_2/Disk_3/Disk_4 1 Install as a pre-existing disk. (encapsulate) 2 Install as a new disk. (discards data on disk!) 3 Leave this disk alone. Note Disk_4 was appended. Here is the output after lots of disks: Installation options for disk Disk_43 Menu: VolumeManager/Install/Custom/Disk/Disk_1/Disk_2/ Disk_3/Disk_4/Disk_5/Disk_6/Disk_7/Disk_8/Disk_9/Disk_10/ Disk_11/Disk_12/Disk_13/Disk_14/Disk_15/Disk_16/Disk_17/ Disk_18/Disk_19/Disk_20/Disk_21/Disk_22/Disk_23/Disk_24/ Disk_25/Disk_26/Disk_27/Disk_28/Disk_29/Disk_30/Disk_31/ Disk_32/Disk_33/Disk_34/Disk_35/Disk_36/Disk_37/Disk_38/ Disk_39/Disk_40/Disk_41/Disk_42/Disk_43 1 Install as a pre-existing disk. (encapsulate) 2 Install as a new disk. (discards data on disk!) 3 Leave this disk alone. ? Display help about menu Select an operation to perform: Resolution: Modified menu push for custom install. Now the menu string does not continually grow. ===================================================== CVM: not calling volcvm_join_complete even after join is complete In one of the clusters Devsi was having a problem with, the joiner did not release port you even after finishing VOL_CLUSTER_JOIN successfully. Resolution: The fix is just changing 2 to 3 in the if statement. The reason we never run into this problem is because rand returns a number in range of 2^32. Thus the probability is 1/2^32. ===================================================== CVM: Memory leak in VOL_COMMIT processing. VOL_COMMIT request processing(req_vol_commit) requires special handling in vxconfigd code. The reason is VOL_COMMIT request processing requires further handling of requests in CVM before completion of itself. (i.e. it has to send request to slaves, and has to process the responses by the slaves). Resolution: We have to free the "nextreq", before starting the processing of slave responses. i.e. we should make the copy of data in "nextreq" and we should free it before completing the request. ===================================================== Add CVM support for Hitachi A/P arrays Add CVM support for HDS9200, 5800, and 5700 A/P arrays. Resolution: Added CVM/DMP support for Hitachi's 9200 arrays. ===================================================== vxreattach recovers disks with duplicate ids During boot time, one of the VxVM boot-up script /etc/rcS.d/S85vxvm-startup2 calls vxreattach to recover all failed disks. Since vxreattach is a shell script it does not know about the routines daselect.c. As a result it may recover the wrong disk if two or more disks in the disk group have the same diskid. Resolution: Modified script to make sure that we check for disks with duplicate disk ids before issuing a recover. ===================================================== VM 3.5s - array.info file is set @ 555 permissions The function write_array_info() creates array.info using fopen("array.info", "w"). As vxconfigd executed umask(0), the permissions of this file is set to 0666. Resolution: Instead of invoking umask() twice as suggested before, the fix will entail invoking "chmod(ARRAY_INFO_FILE, (mode_t) 0644)" after performing the fclose() on ARRAY_INFO_FILE. ===================================================== SxRT3.5 CVM vxvol (recoveries) gets stuck in vol_object_ioctl after master takeover. While running test case vxvm_clust_005 against SxRT3.5, I ran into a case where the vxvol recoveries would not progress, they were hung. Also, new slave nodes could not join. There are actually two problems here. One is that the join failed. However, even after that the dgs were never unlocked so the IO continued to be quiesced. That is not failing gracefully. Resolution: When the allow_join fails, the dgs will be unlocked. However, on the joiner kernel_fail_join can be called with -1, meaning that the joiner will never leave the cluster. Thus a reconfig will not be triggered so the dgs will now never be unlocked. So, to handle that case, we will send out volcvm_node_not_joining message when allow_join fails. Also, when all nodes receive not_joining message, they will unlock dgs. ===================================================== Ted assert when disabling controller under load Problem is due to timing of explicit failover on a debug kernel. When the controller is disabled, the devices are quiesced, then the paths are closed. While issuing failover command, the exclusive lock is released to prevent scsi hangs, During this time another I/O is received for the device and put on the defer queue because the device is quiesced Note the path has not been closed yet. Now the path is closed. It seems the defer queue is sleeping waiting on the shared lock because I see no trace of the error daemon calling dmp_update_cur_pri . It attempts to process the deferred I/O, calls dmp_select path and finds the path closed causing the ted assert. Resolution: Changed dmp_select path to only do the assert if the path is closed and the device is not quiesced. gendmpstategy will queue the i/o on the defer queue when it sees the device is quiesced. ===================================================== DMP issues with VM 3.1.1 and SAN appliance The configuration is a dual node SAN appliance cluster provisioning virtual disks to a E10k storage client. The E10k has dual paths to the virtual disks(A/P). If a cable is pulled from the E10k to the switch, the path failure occurs normally. IO's will failover to the passive path. Once the cable is plugged back in, vxdmp enables the path. After this, we see scsi errors. Resolution: Do not issue "set active" to primary path in failback case until all I/Os are drained at the secondary path. Return "TRY AGAIN" to new I/Os in this state or queue on defer queue until secondary path is drained. ===================================================== diskgroup import is slow for configuration with large number of disks Failover times at a customer site ranged from 15 minutes to 1 hour and most of it being attributed to multiple diskgroup imports. They have close to 5000 disks (some shared between hosts in cluster, some local) and multiple paths to these disks. They want enhancements that would give them workable solution (less than 5-10 min failover time). Resolution: We should be able to cut down the rescan times further, by keeping device open across the four ioctls would make DKIOCGVTOC (on pubdev), DKIOCGVTOC/DKIOCGGEOM/DKIOCINFO (on priv). Note that we call DKIOCGVTOC twice, which can be avoided, with little code reorg. Also we could modify DMP, so that MHIOCSTATUS ioctl is issued on one path not all. If we reduce the number of first open, by keeping the device open in vxconfigd even while making kernel_indirect_ioctl the processing time would be much smaller. This wouldn't help cut down the 2 minute import time for customer, but vxdctl enable might be faster by 30sec or so. ===================================================== ASL: vxasldebug command fails with "cannot create" error message, DATE is incorrect. /usr/lib/vxvm/diag.d/vxasldebug: ./strvcs3.info.072406/21/02M22.528.log: cannot create Resolution: Change "DATE=`date +%m%d06/21/02M%S`" to "DATE=`date +%m%d%S` ===================================================== ASL: vxasldebug uses absolute pathnames to tar up /etc/vx/lib/discovery.d/* In the vxasldebug shell script, we have 46 LIB=/etc/vx/lib/discovery.d/* ... 207 tar -cvf $TARFILE $OUTFILE $DEVWALK $LIB $KEY Resolution: Changed script to use sub-directory to build files. ===================================================== vxrelayout fails with error: record already exists PROBLEM REPRODUCTION STEPS: 1> vxassist make vol1 50m layout=raid5 2> vxassist relayout vol1 layout=nostripe 3> vxrelayout reverse vol1 4> vxassist relayout vol1 layout=nostripe This fails with the following error: +++++++++++++++++++++++++++++++++++++++++ vxvm:vxrelayout: ERROR: creating subdisk c4t2d0s2-05: Record already exists in disk group vxvm:vxrelayout: INFO: Attempting to cleanup ... vxvm:vxassist: ERROR: Cannot complete relayout operation +++++++++++++++++++++++++++++++++++++++++ Resolution: Changed the code to call sd_delete() before calling putback_oldsd(). At 2 places pl_offset of sd was being compared with itself. It should be compared to oldsd. ===================================================== VxMS: File permission related problem in vxvm_map_open_id For a VFM_ONOTMAPPABLE object (for example a degraded RAID5), we keep an open file descriptor to the volume, to be used by vfvm_map_read and vxvm_map_write calls. The open mode of the file depends on VFM_OREAD and/or VFM_OWRITE flags. The case in which both VFM_OREAD and VFM_OWRITE are specified is not handled properly. ===================================================== System panics during SPFS array cable pull testing System daveip43 and daveip44 panics during i/o write test when one of the cables to a dual path array is pulled from the system. The other system still where the cable is not pulled continues operating without any problems. This is happening both on the A5200 A/A array and the HDS9200 A/PG array. Resolution: Since the information in the dumps cannot give us any conclusive data pointing to one particular problem, we have corrected two known panic conditions from the debug version of VxVM and the above problem no longer exists. ===================================================== vxinstall should remove install-db if just using old configuration This problem is reproducible if we choose custom_install/option4 for all enclosures. If any old valid VM configured disk is found in the enclosure(s), user is prompted to either retain it or make it available for re-initialization. VxVM can come up if disks belonging to rootdg are retained but doing it does not remove install-db, hence vxconfigd daemon does not get started on boot up. Resolution: vxinstall will clean up install-db if and only if at least one or more disks belonging to rootdg group are chosen to be retained. As usual, user shall be prompted for shutdown, once install-db is removed. However, if the user selects to retain disk configuration only on non-rootdg diskgroup(s), cleaning up of install-db would not be warranted. It would result in message - "No actions were specified on disks under rootdg, exiting." ===================================================== do_tur will loop forever The do_tur is not currently used by DMP/DDL, but is listed as an API in the ASLD users guide. This means that vendor ASLs can also use this function. Resolution: Changed logic to call appropriate do_tur (32 or 35) function. ===================================================== FMR: whether to use FMR or not in vxplex and vxrecover should be allowed to be specified in file. 1. vxplex will decide whether to use FMR or not for a plex attach by referring to a default file. a. if the default file does not exist - use FMR b. if the default file is empty - use FMR c. if the default file has 'usefmr=yes' - use FMR d. if the default file has 'usefmr=no' - do not use FMR (full resync) e. by default /etc/default/vxplex will be used as the default file. Different default file can be specified on the command line using -d. vxplex will fail if the default file specified using -d does not exist. No changes are required in vxrecover as it internally forks vxplex for all plex attaches. The only change required is to pass on the -d option to vxplex. Resolution: 1. vxplex changed to use default file to find out if FMR should be used for syncing the plexes. 2. vxreattach changed to determine if FMR is to be used by referring to the default file and then call vxrecover appropriately. 3. vxdiskadm modified to prompt user to find out if FMR is to be used. ===================================================== VXVM 4 node vcs cluster: vxconfigd slow down I was wrong in my assessment that this problem was caused by starvation of CFSMount agents. This problem is caused by many vold clients still living on, even when the process for which this client was created has died a long time back. Resolution: To fix this, we added a call to free_stale_clients in vold_connect. The idea here is to kind of draw a upper limit on the time before we check for whether or not a process is dead. If the process is not dead, the client would still not be freed but we will test again when another connection is attempted. ===================================================== Plexes with SNAPDONE state are not detached on i/o error Plexes in SNAPDONE state do not get detached on write errors. This can be re-produced by as follows: #> vxassist make vol0 102400 nmirrors=1 #> vxassist snapstart vol0 set ted error on plex vol0-02 #> dd if=/dev/zero of=/dev/vx/rdsk/dg/vol0 count=1 The plex vol0-02 (in SNAPDONE) remains in the active state. Resolution: 1. Remove PL_PFLAG_NOERROR flag from SNAPDONE plexes so that detach processing is done for them 2. Set the io mode of a SNAPDONE plex to write only during volume start. 3. Mark a SNAPDONE plex STALE during volume recover if the plex was detached. ===================================================== Panic in hitachi_failback_lungroup for HDS A/P 9200 Array with 3.1 VxVM I have found a race condition between hitachi_update_cur_pri(dmp error daemon) and the DMP reconfiguration daemon. To simply state, hitachi_update_cur_pri takes exclusive lock and starts working on Controllers and expects all the data-structures are in condition. Whereas in reconfiguration we acquire and releases exclusive lock and do the process of re-configuration which makes DMP database inconsistent for a small window. During re-configuration, if we find new-paths added to the existing Disk-Array/Controller, we have node structures WITHOUT dmpnode pointers. Their dmpnode pointers are set to NULL and they don't have flag NODE_SCANNED. Resolution: Checking for non-null condition of dmpnode pointer from nodep addressed the issue. ===================================================== CVM support for Hitachi 9500 DF600 APG Need to support CVM for Hitachi's DF600 (9500) arrays. Resolution: Added HDS9500 ANAME to CVM supported list. Also, added support to dynamically add A/P and A/PG arrays that provide a PORT_SERIAL_NO attribute. ===================================================== ted assert in dmp_select_path due to cur_pri_path pointing to unquiesced disabled node When vxdmpadm disable ctlr is issued against a path on an explicit failover array, ted assert hits in dmp_select_path due to cur_pri_path pointing to a disabled unquiesced node. Host is doing I/O to a multiple disk volume. Resolution: Modified dmp_check_ios_drained to work on a node basis. Modified apauto_failover_dmpnode such that it will call dmp_check_ios_drained for each dmpnode's cur_pri_path on the controller. This will prevent the blanket resetting of the quiesced bit for all nodes on the controller so gendmpstrategy will put the I/O on the defer queue for the quiesced node. ===================================================== 3.5 MP1 vxconfigd hung (from vxdctl enable) in dmp_reconfig_update_cur_pri While doing vxdctl enable with vxfen loaded, vxconfigd hung. The reconfiguration is incomplete unless cur_pri path is set. Since the path is active and enabled DMP will assume that setting of the cur_pri will ultimately succeed when all the I/Os currently in progress are over. In this case, that is not going to happen, so the hang. Resolution: Moved check_io_drained to the failover_dmp function. PHKL_27971: ( SR: 8606280650 CR: JAGae44620 ) The vxsync ioctl has never worked for clustered file systems. Part of the problem was that CFS did not support the FREEZE_ALL ioctl when vxsync was updated last. An attempt was made to FREEZE the CFS file systems individually but in this attempt an uninitialized file descriptor is used which causes unpredicatable results. Resolution: Starting with VxFS 3.5 CFS support the VX_CW_FREEAZE_ALL ioctl which must be used on clustered fs instead of the VX_FREEZE_ALL ioctl. The code will be changed to use the same fd variable for both clustered and local file systems. ( SR: 8606280641 CR: JAGae44611 ) When a disk is removed, the corresponding plexes get disabled. This turns the FMR tracking ON and starts tracking the writes for the plex(es). When the diskgroup is deported and then re-imported (or system rebooted), the previous FMR map information is lost. Upon the volume start, we detect that the plex is inactive and turn the FMR tracking on for the plex, but we fail to detect the fact that the plex was already stale. We should actually have dirtied the entire DMR map for this plex. Resolution: The fix is to detect the condition upon reboot if a plex was already stale. If yes, the dirty the entire FMR map for it. ( SR: 8606282276 CR: JAGae46228 ) We observed the following problem with dco update protocol in cvm. Consider a write on the node, which initiates the dco update protocol. The node will send "CVM_MSG_DCO_REQUEST" message to master to initiate DCO update protocol. Master will simply request on the request wait queue, and initiate a DCO update protocol by broadcasting "CVM_MSG_DCO_PREPARE" message, if one is not already in progress. All nodes on receiving the prepare message changes the dco state to VOLDCO_STATE_PRCVD and send the awk back to the master. If master dies at this point, the sender will re-request to new master to initiate the dco update protocol. New master will simply queue it and return because it considers the dco state as not idle. Resolution: At the time of master takeover, all the nodes should reset the dco state to VOLDCO_STATE_IDLE to handle the case of master failover when the dco update protocol is in progress. ( SR: 8606279205 CR: JAGae43261) This is very easy to reproduce, create an RDS using virtual interfaces and the RLINKS won't connect. We are freeing memory before the network layer could actually send data completely. This problem is happening HBACK message is not reaching the other side. When disconnection happens at that time the log shows that even though the other machine has sent the HBACK, it didn't reach the receiver. Resolution: Free allocated buffer in callback function. So that it will be freed only when network layer has actually sent it. ( SR: 8606282277 CR: JAGae46229) The hdr_dcm_incoming_pos is set to "hdr->hdr_prim_stat.pending_pos when DCM flush happens. Once SRL flush is completed as a result of OVERFLOW, we call vol_rvdcvm_flush_iogen(), which would set dcm_incoming_pos to the current pending position in the SRL. We will never update the DCM flush/maps because of the code in vol_rvdcm_log_update. Hence all incoming I/O's will never flush the DCM maps. Resolution: We need to make sure that we flush the DCM once recovery is complete. ( SR: 8606282280 CR: JAGae46232) In the case of persistent FMR, when a disk is replaced by some other disk, all the regions of the accumulator are set dirty in-core, but we are not flushed to the disk. If the system were to crash at this moment, we will not resync the plex on newly added disk completely. This will result in data corruption. Resolution: We need to flush the accumulator to the disk once we fully dirty it after noticing the change in the plex column. ( SR: 8606282283 CR: JAGae46235) The following messages are displayed on the console currently when the SRL overflows and autodcm is set. They inform the user that dcm logging has begun. WARNING: vxvm:vxio: Log over 80% full for rlink tc-rlink WARNING: vxvm:vxio: Disconnecting rep tc-rlink to shift to DCM protection Resolution: Warnings are now printed to the user. ( SR: 8606282284 CR: JAGae46236) The RVG avg write size stat is being incorrectly calculated when we are in passthru. Resolution: One line change in io_passthru code to get rid of reads in total. ( SR: 8606280644 CR: JAGae44614 ) Secondary stores last services update in its SRL header. It gets refreshed after log flush which is done due to atomic update or IBC. There is a check required for IBC due to which secondary does not process anything earlier than this update. Now in case of atomic updates due to temporary disconnect/reconnect, header gets flushed and that particular update gets stored in the header. Under such a situation, if restore of secondary using primary/secondary checkpoint is performed, secondary drops all the earlier updates than the update stored in its SRL header. Resolution: After we have performed a restore from a checkpoint, either the primary or the secondary, added some information in a start_update message which ges exchanged at the time of connect so that secondary can distinguish between the cases when it has to drop the messages and when it should not. ( SR: 8606280643 CR: JAGae44613 ) This can happen if there are more than one rlinks. When the two rlinks overflow at the same time, both of them try to turn on DCM. For the rlink to the dcm, the code is such that rlink first changes its state to VOLRPH_PHASE_HALT, so that no other activity can be done on that rlink. The first rlink will activate the dcm which starts the SRL flush. The macro which checks the SRL flush does not distinguish as to which rlink is flushing, the result is that if any rlink is flushing, any other rlinks will not be able to go to halt state. The the second rlink's phase never gets switched to VOLRP_PHASE_HALT, and as a result it remains permanently in the loop retrying the I/O until phase !=VOLRP_PHASE_HALT. Resolution: Create a macro that distinguishes between rlinks, so that it only does not change the phase if the current rlink is flushing. ( SR: 8606280639 CR: JAGae44609 ) There is a race condition between voltuned and configuration change handling code of VxVM. voltuned is a kernel daemon in VxVM to enable a cpu from VxVM perspective. It awakes every 5 minutes and tries to find out whether any cpu is found or not. VxVM maintains per-cpu objects statistics. A configuration change may have to resize the memory allocated for 'per-cpu object stats' while creating/deleting configuration. This is second thread. If voltuned enables a cpu at a time when VxVM 'per-cpu objects stats' memory is in process of change, we can have wrong I/O count. Vxconfigd hangs in the kernel because of this and a system reboot is required. Resolution: Ensure appropriate locks while allocating memory. Enhancement: No SR: 8606287939 8606264326 8606274833 8606271670 8606297935 8606297936 8606280650 8606280641 8606282276 8606279205 8606282277 8606282280 8606282283 8606282284 8606280644 8606280643 8606280639 8606312268 8606312267 8606312266 8606312265 8606312264 8606312263 8606312262 8606312259 8606312257 8606305709 8606290921 8606294241 8606307106 8606321462 8606335902 8606337430 8606337427 8606337426 8606337424 8606337421 8606337419 8606298209 8606338461 8606340885 8606340884 8606337386 8606337385 8606337383 8606337382 8606302143 8606312087 8606337206 8606337194 8606337191 8606337190 8606337433 8606337432 8606337431 8606340880 Patch Files: VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_32,v=HP: VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_32,v=VERITAS: /opt/VRTS/bin/unconfigure.VXVM /usr/conf/lib/libvxvm_vrts.a(conf_srvm.o) /usr/conf/lib/libvxvm_vrts.a(conv_func32.o) /usr/conf/lib/libvxvm_vrts.a(conv_func64.o) /usr/conf/lib/libvxvm_vrts.a(cpulocks.o) /usr/conf/lib/libvxvm_vrts.a(dcm.o) /usr/conf/lib/libvxvm_vrts.a(dco.o) /usr/conf/lib/libvxvm_vrts.a(devmap.o) /usr/conf/lib/libvxvm_vrts.a(devmap_cvm.o) /usr/conf/lib/libvxvm_vrts.a(dg.o) /usr/conf/lib/libvxvm_vrts.a(dg_cvm.o) /usr/conf/lib/libvxvm_vrts.a(disk.o) /usr/conf/lib/libvxvm_vrts.a(diskio.o) /usr/conf/lib/libvxdmp_vrts.a(dmpaa.o) /usr/conf/lib/libvxdmp_vrts.a(dmpap_auto.o) /usr/conf/lib/libvxdmp_vrts.a(dmpap_failover.o) /usr/conf/lib/libvxdmp_vrts.a(dmpap_grp.o) /usr/conf/lib/libvxdmp_vrts.a(dmpapf_sys.o) /usr/conf/lib/libvxdmp_vrts.a(dmpconv_func32.o) /usr/conf/lib/libvxdmp_vrts.a(dmpconv_func64.o) /usr/conf/lib/libvxdmp_vrts.a(dmpdb.o) /usr/conf/lib/libvxdmp_vrts.a(dmpdev.o) /usr/conf/lib/libvxdmp_vrts.a(dmpdev_sys.o) /usr/conf/lib/libvxdmp_vrts.a(dmperrord.o) /usr/conf/lib/libvxdmp_vrts.a(dmpgen_da.o) /usr/conf/lib/libvxdmp_vrts.a(dmpglobals.o) /usr/conf/lib/libvxdmp_vrts.a(dmphp.o) /usr/conf/lib/libvxdmp_vrts.a(dmpioctl.o) /usr/conf/lib/libvxdmp_vrts.a(dmpioctl_conv.o) /usr/conf/lib/libvxdmp_vrts.a(dmplic.o) /usr/conf/lib/libvxdmp_vrts.a(dmplock.o) /usr/conf/lib/libvxdmp_vrts.a(dmpmigration.o) /usr/conf/lib/libvxdmp_vrts.a(dmpmisc.o) /usr/conf/lib/libvxdmp_vrts.a(dmpops.o) /usr/conf/lib/libvxdmp_vrts.a(dmppgr.o) /usr/conf/lib/libvxdmp_vrts.a(dmppgrio.o) /usr/conf/lib/libvxdmp_vrts.a(dmpreconfig.o) /usr/conf/lib/libvxdmp_vrts.a(dmprestore.o) /usr/conf/lib/libvxdmp_vrts.a(dmpscsi.o) /usr/conf/lib/libvxdmp_vrts.a(dmpstats.o) /usr/conf/lib/libvxdmp_vrts.a(dmptpapi.o) /usr/conf/lib/libvxdmp_vrts.a(dmputility.o) /usr/conf/lib/libvxvm_vrts.a(drl.o) /usr/conf/lib/libvxvm_vrts.a(drl_cvm.o) /usr/conf/lib/libvxvm_vrts.a(dskinfo.o) /usr/conf/lib/libvxvm_vrts.a(errsio.o) /usr/conf/lib/libvxvm_vrts.a(fmr.o) /usr/conf/lib/libvxvm_vrts.a(function_names.o) /usr/conf/lib/libvxvm_vrts.a(gabintf_cvm.o) /usr/conf/lib/libvxvm_vrts.a(ghostio.o) /usr/conf/lib/libvxvm_vrts.a(heartbeat.o) /usr/conf/lib/libvxvm_vrts.a(ibc.o) /usr/conf/lib/libvxvm_vrts.a(ilock.o) /usr/conf/lib/libvxvm_vrts.a(ilock_cvm.o) /usr/conf/lib/libvxvm_vrts.a(indioctl.o) /usr/conf/lib/libvxvm_vrts.a(info.o) /usr/conf/lib/libvxvm_vrts.a(info_cvm.o) /usr/conf/lib/libvxvm_vrts.a(ioctl_conv.o) /usr/conf/lib/libvxvm_vrts.a(iod.o) /usr/conf/lib/libvxvm_vrts.a(join_cvm.o) /usr/conf/lib/libvxvm_vrts.a(kcontext.o) /usr/conf/lib/libvxvm_vrts.a(kio_sys.o) /usr/conf/lib/libvxvm_vrts.a(kiostart.o) /usr/conf/lib/libvxvm_vrts.a(kiosubr.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_common.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_cvm.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_gab.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_reqtbl_cvm.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_switchout.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_tcp.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_udp.o) /usr/conf/lib/libvxvm_vrts.a(kr_upgrade.o) /usr/conf/lib/libvxvm_vrts.a(kr_upgradetbl.o) /usr/conf/lib/libvxvm_vrts.a(kru_10_20.o) /usr/conf/lib/libvxvm_vrts.a(kru_20_30.o) /usr/conf/lib/libvxvm_vrts.a(kru_30_40.o) /usr/conf/lib/libvxvm_vrts.a(ktrans.o) /usr/conf/lib/libvxvm_vrts.a(ktrans_cvm.o) /usr/conf/lib/libvxvm_vrts.a(linksio.o) /usr/conf/lib/libvxvm_vrts.a(memdbg.o) /usr/conf/lib/libvxvm_vrts.a(mempool.o) /usr/conf/lib/libvxvm_vrts.a(monitor_cvm.o) /usr/conf/lib/libvxvm_vrts.a(msg_cvm.o) /usr/conf/lib/libvxvm_vrts.a(msg_diskpolicy.o) /usr/conf/lib/libvxvm_vrts.a(msg_dmp.o) /usr/conf/lib/libvxvm_vrts.a(mv.o) /usr/conf/lib/libvxvm_vrts.a(mv_cvm.o) /usr/conf/lib/libvxvm_vrts.a(mv_detdrl_cvm.o) /usr/conf/lib/libvxvm_vrts.a(mvio.o) /usr/conf/lib/libvxvm_vrts.a(mvioctl.o) /usr/conf/lib/libvxvm_vrts.a(mvioctl_sys.o) /usr/conf/lib/libvxvm_vrts.a(mvlog.o) /usr/conf/lib/libvxvm_vrts.a(netiod.o) /usr/conf/lib/libvxvm_vrts.a(nmcom_cli.o) /usr/conf/lib/libvxvm_vrts.a(nmcom_cli_sys.o) /usr/conf/lib/libvxvm_vrts.a(nmcom_cs.o) /usr/conf/lib/libvxvm_vrts.a(nmcom_srv.o) /usr/conf/lib/libvxvm_vrts.a(nmstable.o) /usr/conf/lib/libvxvm_vrts.a(node_cvm.o) /usr/conf/lib/libvxvm_vrts.a(objioctl.o) /usr/conf/lib/libvxvm_vrts.a(objioctl_sys.o) /usr/conf/lib/libvxvm_vrts.a(objsubr.o) /usr/conf/lib/libvxvm_vrts.a(objtypes.o) /usr/conf/lib/libvxvm_vrts.a(oessio_cvm.o) /usr/conf/lib/libvxvm_vrts.a(plex.o) /usr/conf/lib/libvxvm_vrts.a(poold.o) /usr/conf/lib/libvxvm_vrts.a(privmem.o) /usr/conf/lib/libvxvm_vrts.a(raid.o) /usr/conf/lib/libvxvm_vrts.a(raid_cvm.o) /usr/conf/lib/libvxvm_vrts.a(raidlog.o) /usr/conf/lib/libvxvm_vrts.a(root.o) /usr/conf/lib/libvxvm_vrts.a(rp.o) /usr/conf/lib/libvxvm_vrts.a(rpio.o) /usr/conf/lib/libvxvm_vrts.a(rpioctl.o) /usr/conf/lib/libvxvm_vrts.a(rv.o) /usr/conf/lib/libvxvm_vrts.a(rv_config.o) /usr/conf/lib/libvxvm_vrts.a(rv_dcm.o) /usr/conf/lib/libvxvm_vrts.a(rv_linksio.o) /usr/conf/lib/libvxvm_vrts.a(rv_server.o) /usr/conf/lib/libvxvm_vrts.a(rv_test.o) /usr/conf/lib/libvxvm_vrts.a(rv_update.o) /usr/conf/lib/libvxvm_vrts.a(rvio.o) /usr/conf/lib/libvxvm_vrts.a(rvioctl.o) /usr/conf/lib/libvxvm_vrts.a(rwsleep.o) /usr/conf/lib/libvxvm_vrts.a(siosubr.o) /usr/conf/lib/libvxvm_vrts.a(splitsio.o) /usr/conf/lib/libvxvm_vrts.a(srvmcore.o) /usr/conf/lib/libvxvm_vrts.a(stable.o) /usr/conf/lib/libvxvm_vrts.a(subdisk.o) /usr/conf/lib/libvxvm_vrts.a(subr.o) /usr/conf/lib/libvxvm_vrts.a(subvolume.o) /usr/conf/lib/libvxvm_vrts.a(task.o) /usr/conf/lib/libvxvm_vrts.a(trace.o) /usr/conf/lib/libvxvm_vrts.a(voldev.o) /usr/conf/lib/libvxvm_vrts.a(voldio.o) /usr/conf/lib/libvxvm_vrts.a(voldioctl.o) /usr/conf/lib/libvxvm_vrts.a(voldioctl_sys.o) /usr/conf/lib/libvxvm_vrts.a(voldmp_ioctl.o) /usr/conf/lib/libvxvm_vrts.a(voldmp_pfsio.o) /usr/conf/lib/libvxvm_vrts.a(voldmp_qssio.o) /usr/conf/lib/libvxvm_vrts.a(volhp.o) /usr/conf/lib/libvxvm_vrts.a(volhp_rel.o) /usr/conf/lib/libvxvm_vrts.a(volinit.o) /usr/conf/lib/libvxvm_vrts.a(voliomem.o) /usr/conf/lib/libvxvm_vrts.a(volklog.o) /usr/conf/lib/libvxvm_vrts.a(vollif.o) /usr/conf/lib/libvxvm_vrts.a(volpack_cvm.o) /usr/conf/lib/libvxvm_vrts.a(volpack_vvr_nw.o) /usr/conf/lib/libvxvm_vrts.a(volquiesce.o) /usr/conf/lib/libvxvm_vrts.a(volspec.o) /usr/conf/lib/libvxvm_vrts.a(volspec_stub.o) /usr/conf/lib/libvxvm_vrts.a(volted.o) /usr/conf/lib/libvxvm_vrts.a(volted_sys.o) /usr/conf/lib/libvxvm_vrts.a(volxor.o) /usr/conf/lib/libvxdmp_vrts.a(vxdmp.o) /usr/conf/lib/libvxvm_vrts.a(vxvm.o) /usr/conf/lib/libvxvm_vrts.a(what_vers.o) VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_64,v=HP: VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_64,v=VERITAS: /opt/VRTS/bin/unconfigure.VXVM /usr/conf/lib/libvxvm_vrts.a(conf_srvm.o) /usr/conf/lib/libvxvm_vrts.a(conv_func32.o) /usr/conf/lib/libvxvm_vrts.a(conv_func64.o) /usr/conf/lib/libvxvm_vrts.a(cpulocks.o) /usr/conf/lib/libvxvm_vrts.a(dcm.o) /usr/conf/lib/libvxvm_vrts.a(dco.o) /usr/conf/lib/libvxvm_vrts.a(devmap.o) /usr/conf/lib/libvxvm_vrts.a(devmap_cvm.o) /usr/conf/lib/libvxvm_vrts.a(dg.o) /usr/conf/lib/libvxvm_vrts.a(dg_cvm.o) /usr/conf/lib/libvxvm_vrts.a(disk.o) /usr/conf/lib/libvxvm_vrts.a(diskio.o) /usr/conf/lib/libvxdmp_vrts.a(dmpaa.o) /usr/conf/lib/libvxdmp_vrts.a(dmpap_auto.o) /usr/conf/lib/libvxdmp_vrts.a(dmpap_failover.o) /usr/conf/lib/libvxdmp_vrts.a(dmpap_grp.o) /usr/conf/lib/libvxdmp_vrts.a(dmpapf_sys.o) /usr/conf/lib/libvxdmp_vrts.a(dmpconv_func32.o) /usr/conf/lib/libvxdmp_vrts.a(dmpconv_func64.o) /usr/conf/lib/libvxdmp_vrts.a(dmpdb.o) /usr/conf/lib/libvxdmp_vrts.a(dmpdev.o) /usr/conf/lib/libvxdmp_vrts.a(dmpdev_sys.o) /usr/conf/lib/libvxdmp_vrts.a(dmperrord.o) /usr/conf/lib/libvxdmp_vrts.a(dmpgen_da.o) /usr/conf/lib/libvxdmp_vrts.a(dmpglobals.o) /usr/conf/lib/libvxdmp_vrts.a(dmphp.o) /usr/conf/lib/libvxdmp_vrts.a(dmpioctl.o) /usr/conf/lib/libvxdmp_vrts.a(dmpioctl_conv.o) /usr/conf/lib/libvxdmp_vrts.a(dmplic.o) /usr/conf/lib/libvxdmp_vrts.a(dmplock.o) /usr/conf/lib/libvxdmp_vrts.a(dmpmigration.o) /usr/conf/lib/libvxdmp_vrts.a(dmpmisc.o) /usr/conf/lib/libvxdmp_vrts.a(dmpops.o) /usr/conf/lib/libvxdmp_vrts.a(dmppgr.o) /usr/conf/lib/libvxdmp_vrts.a(dmppgrio.o) /usr/conf/lib/libvxdmp_vrts.a(dmpreconfig.o) /usr/conf/lib/libvxdmp_vrts.a(dmprestore.o) /usr/conf/lib/libvxdmp_vrts.a(dmpscsi.o) /usr/conf/lib/libvxdmp_vrts.a(dmpstats.o) /usr/conf/lib/libvxdmp_vrts.a(dmptpapi.o) /usr/conf/lib/libvxdmp_vrts.a(dmputility.o) /usr/conf/lib/libvxvm_vrts.a(drl.o) /usr/conf/lib/libvxvm_vrts.a(drl_cvm.o) /usr/conf/lib/libvxvm_vrts.a(dskinfo.o) /usr/conf/lib/libvxvm_vrts.a(errsio.o) /usr/conf/lib/libvxvm_vrts.a(fmr.o) /usr/conf/lib/libvxvm_vrts.a(function_names.o) /usr/conf/lib/libvxvm_vrts.a(gabintf_cvm.o) /usr/conf/lib/libvxvm_vrts.a(ghostio.o) /usr/conf/lib/libvxvm_vrts.a(heartbeat.o) /usr/conf/lib/libvxvm_vrts.a(ibc.o) /usr/conf/lib/libvxvm_vrts.a(ilock.o) /usr/conf/lib/libvxvm_vrts.a(ilock_cvm.o) /usr/conf/lib/libvxvm_vrts.a(indioctl.o) /usr/conf/lib/libvxvm_vrts.a(info.o) /usr/conf/lib/libvxvm_vrts.a(info_cvm.o) /usr/conf/lib/libvxvm_vrts.a(ioctl_conv.o) /usr/conf/lib/libvxvm_vrts.a(iod.o) /usr/conf/lib/libvxvm_vrts.a(join_cvm.o) /usr/conf/lib/libvxvm_vrts.a(kcontext.o) /usr/conf/lib/libvxvm_vrts.a(kio_sys.o) /usr/conf/lib/libvxvm_vrts.a(kiostart.o) /usr/conf/lib/libvxvm_vrts.a(kiosubr.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_common.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_cvm.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_gab.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_reqtbl_cvm.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_switchout.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_tcp.o) /usr/conf/lib/libvxvm_vrts.a(kmsg_udp.o) /usr/conf/lib/libvxvm_vrts.a(kr_upgrade.o) /usr/conf/lib/libvxvm_vrts.a(kr_upgradetbl.o) /usr/conf/lib/libvxvm_vrts.a(kru_10_20.o) /usr/conf/lib/libvxvm_vrts.a(kru_20_30.o) /usr/conf/lib/libvxvm_vrts.a(kru_30_40.o) /usr/conf/lib/libvxvm_vrts.a(ktrans.o) /usr/conf/lib/libvxvm_vrts.a(ktrans_cvm.o) /usr/conf/lib/libvxvm_vrts.a(linksio.o) /usr/conf/lib/libvxvm_vrts.a(memdbg.o) /usr/conf/lib/libvxvm_vrts.a(mempool.o) /usr/conf/lib/libvxvm_vrts.a(monitor_cvm.o) /usr/conf/lib/libvxvm_vrts.a(msg_cvm.o) /usr/conf/lib/libvxvm_vrts.a(msg_diskpolicy.o) /usr/conf/lib/libvxvm_vrts.a(msg_dmp.o) /usr/conf/lib/libvxvm_vrts.a(mv.o) /usr/conf/lib/libvxvm_vrts.a(mv_cvm.o) /usr/conf/lib/libvxvm_vrts.a(mv_detdrl_cvm.o) /usr/conf/lib/libvxvm_vrts.a(mvio.o) /usr/conf/lib/libvxvm_vrts.a(mvioctl.o) /usr/conf/lib/libvxvm_vrts.a(mvioctl_sys.o) /usr/conf/lib/libvxvm_vrts.a(mvlog.o) /usr/conf/lib/libvxvm_vrts.a(netiod.o) /usr/conf/lib/libvxvm_vrts.a(nmcom_cli.o) /usr/conf/lib/libvxvm_vrts.a(nmcom_cli_sys.o) /usr/conf/lib/libvxvm_vrts.a(nmcom_cs.o) /usr/conf/lib/libvxvm_vrts.a(nmcom_srv.o) /usr/conf/lib/libvxvm_vrts.a(nmstable.o) /usr/conf/lib/libvxvm_vrts.a(node_cvm.o) /usr/conf/lib/libvxvm_vrts.a(objioctl.o) /usr/conf/lib/libvxvm_vrts.a(objioctl_sys.o) /usr/conf/lib/libvxvm_vrts.a(objsubr.o) /usr/conf/lib/libvxvm_vrts.a(objtypes.o) /usr/conf/lib/libvxvm_vrts.a(oessio_cvm.o) /usr/conf/lib/libvxvm_vrts.a(plex.o) /usr/conf/lib/libvxvm_vrts.a(poold.o) /usr/conf/lib/libvxvm_vrts.a(privmem.o) /usr/conf/lib/libvxvm_vrts.a(raid.o) /usr/conf/lib/libvxvm_vrts.a(raid_cvm.o) /usr/conf/lib/libvxvm_vrts.a(raidlog.o) /usr/conf/lib/libvxvm_vrts.a(root.o) /usr/conf/lib/libvxvm_vrts.a(rp.o) /usr/conf/lib/libvxvm_vrts.a(rpio.o) /usr/conf/lib/libvxvm_vrts.a(rpioctl.o) /usr/conf/lib/libvxvm_vrts.a(rv.o) /usr/conf/lib/libvxvm_vrts.a(rv_config.o) /usr/conf/lib/libvxvm_vrts.a(rv_dcm.o) /usr/conf/lib/libvxvm_vrts.a(rv_linksio.o) /usr/conf/lib/libvxvm_vrts.a(rv_server.o) /usr/conf/lib/libvxvm_vrts.a(rv_test.o) /usr/conf/lib/libvxvm_vrts.a(rv_update.o) /usr/conf/lib/libvxvm_vrts.a(rvio.o) /usr/conf/lib/libvxvm_vrts.a(rvioctl.o) /usr/conf/lib/libvxvm_vrts.a(rwsleep.o) /usr/conf/lib/libvxvm_vrts.a(siosubr.o) /usr/conf/lib/libvxvm_vrts.a(splitsio.o) /usr/conf/lib/libvxvm_vrts.a(srvmcore.o) /usr/conf/lib/libvxvm_vrts.a(stable.o) /usr/conf/lib/libvxvm_vrts.a(subdisk.o) /usr/conf/lib/libvxvm_vrts.a(subr.o) /usr/conf/lib/libvxvm_vrts.a(subvolume.o) /usr/conf/lib/libvxvm_vrts.a(task.o) /usr/conf/lib/libvxvm_vrts.a(trace.o) /usr/conf/lib/libvxvm_vrts.a(voldev.o) /usr/conf/lib/libvxvm_vrts.a(voldio.o) /usr/conf/lib/libvxvm_vrts.a(voldioctl.o) /usr/conf/lib/libvxvm_vrts.a(voldioctl_sys.o) /usr/conf/lib/libvxvm_vrts.a(voldmp_ioctl.o) /usr/conf/lib/libvxvm_vrts.a(voldmp_pfsio.o) /usr/conf/lib/libvxvm_vrts.a(voldmp_qssio.o) /usr/conf/lib/libvxvm_vrts.a(volhp.o) /usr/conf/lib/libvxvm_vrts.a(volhp_rel.o) /usr/conf/lib/libvxvm_vrts.a(volinit.o) /usr/conf/lib/libvxvm_vrts.a(voliomem.o) /usr/conf/lib/libvxvm_vrts.a(volklog.o) /usr/conf/lib/libvxvm_vrts.a(vollif.o) /usr/conf/lib/libvxvm_vrts.a(volpack_cvm.o) /usr/conf/lib/libvxvm_vrts.a(volpack_vvr_nw.o) /usr/conf/lib/libvxvm_vrts.a(volquiesce.o) /usr/conf/lib/libvxvm_vrts.a(volspec.o) /usr/conf/lib/libvxvm_vrts.a(volspec_stub.o) /usr/conf/lib/libvxvm_vrts.a(volted.o) /usr/conf/lib/libvxvm_vrts.a(volted_sys.o) /usr/conf/lib/libvxvm_vrts.a(volxor.o) /usr/conf/lib/libvxdmp_vrts.a(vxdmp.o) /usr/conf/lib/libvxvm_vrts.a(vxvm.o) /usr/conf/lib/libvxvm_vrts.a(what_vers.o) what(1) Output: VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_32,v=HP: /opt/VRTS/bin/unconfigure.VXVM: unconfigure $Date: 2003/04/01 08:22:26 $Revision: 35 .4 PATCH_11.11 (PHKL_28459) src/hp/package/vxvm/pkg_scripts/unconfigure 1.9. 66.2 09/12/02 15:08:55 - Copyright (c) 1999 VERITAS Software Corp. unixvm:src/hp/package/vxvm/pkg_scripts/unconfigure 1 .9.66.2 /usr/conf/lib/libvxvm_vrts.a(conf_srvm.o): None /usr/conf/lib/libvxvm_vrts.a(conv_func32.o): None /usr/conf/lib/libvxvm_vrts.a(conv_func64.o): None /usr/conf/lib/libvxvm_vrts.a(cpulocks.o): cpulocks.c $Date: 2002/10/07 09:35:21 $Revision: 35. 2 PATCH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(dcm.o): dcm.c $Date: 2003/04/04 01:10:20 $Revision: 35.2 PAT CH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(dco.o): dco.c $Date: 2002/10/07 09:35:28 $Revision: 35.2 PAT CH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(devmap.o): devmap.c $Date: 2003/11/12 05:13:18 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(devmap_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(dg.o): dg.c $Date: 2003/08/12 04:12:24 $Revision: 35.2 PATC H_11.11 (PHKL_29611) /usr/conf/lib/libvxvm_vrts.a(dg_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(disk.o): disk.c $Date: 2003/11/21 22:47:11 $Revision: 35.5 PA TCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(diskio.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpaa.o): dmpaa.c $Date: 2003/03/05 05:36:53 $Revision: 35.2 P ATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpap_auto.o): dmpap_auto.c $Date: 2004/02/18 00:38:20 $Revision: 3 5.7 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpap_failover.o): dmpap_failover.c $Date: 2003/03/05 05:38:45 $Revisio n: 35.2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpap_grp.o): dmpap_grp.c $Date: 2003/03/05 02:40:31 $Revision: 35 .3 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpapf_sys.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpconv_func32.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpconv_func64.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpdb.o): dmpdb.c $Date: 2004/02/18 00:39:48 $Revision: 35.9 P ATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpdev.o): dmpdev.c $Date: 2003/05/17 05:41:10 $Revision: 35.3 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpdev_sys.o): dmpdev_sys.c $Date: 2003/03/05 05:58:19 $Revision: 3 5.2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmperrord.o): dmperrord.c $Date: 2003/11/03 02:26:56 $Revision: 35 .5 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpgen_da.o): dmpgen_da.c $Date: 2004/03/03 11:07:00 $Revision: 35 .8 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpglobals.o): None /usr/conf/lib/libvxdmp_vrts.a(dmphp.o): dmphp.c $Date: 2003/05/08 01:44:34 $Revision: 35.3 P ATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpioctl.o): dmpioctl.c $Date: 2004/02/18 00:44:27 $Revision: 35. 7 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpioctl_conv.o): None /usr/conf/lib/libvxdmp_vrts.a(dmplic.o): None /usr/conf/lib/libvxdmp_vrts.a(dmplock.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpmigration.o): dmpmigration.c $Date: 2003/05/17 05:46:09 $Revision: 35.2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpmisc.o): dmpmisc.c $Date: 2004/03/03 11:06:59 $Revision: 35.3 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxdmp_vrts.a(dmpops.o): dmpops.c $Date: 2003/11/03 02:33:08 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmppgr.o): dmppgr.c $Date: 2003/03/05 07:45:39 $Revision: 1.3 P ATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmppgrio.o): dmppgrio.c $Date: 2003/04/04 00:52:32 $Revision: 1.4 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpreconfig.o): None /usr/conf/lib/libvxdmp_vrts.a(dmprestore.o): dmprestore.c $Date: 2003/11/03 02:34:26 $Revision: 3 5.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpscsi.o): dmpscsi.c $Date: 2003/11/03 06:40:54 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpstats.o): None /usr/conf/lib/libvxdmp_vrts.a(dmptpapi.o): None /usr/conf/lib/libvxdmp_vrts.a(dmputility.o): None /usr/conf/lib/libvxvm_vrts.a(drl.o): None /usr/conf/lib/libvxvm_vrts.a(drl_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(dskinfo.o): None /usr/conf/lib/libvxvm_vrts.a(errsio.o): None /usr/conf/lib/libvxvm_vrts.a(fmr.o): fmr.c $Date: 2003/11/03 02:41:18 $Revision: 35.3 PAT CH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(function_names.o): None /usr/conf/lib/libvxvm_vrts.a(gabintf_cvm.o): vxfen_defs.h $Date: 2003/05/13 21:54:59 $Revision: 3 5.9 PATCH_11.11 (PHKL_28794) gabintf_cvm.c $Date: 2003/11/03 03:14:15 $Revision: 35.4 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(ghostio.o): None /usr/conf/lib/libvxvm_vrts.a(heartbeat.o): heartbeat.c $Date: 2003/01/31 11:55:29 $Revision: 35 .2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(ibc.o): ibc.c $Date: 2003/11/03 03:16:43 $Revision: 35.3 PAT CH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(ilock.o): ilock.c $Date: 2003/04/04 01:12:57 $Revision: 35.2 P ATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(ilock_cvm.o): ilock_cvm.c $Date: 2003/04/04 01:15:07 $Revision: 35 .2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(indioctl.o): None /usr/conf/lib/libvxvm_vrts.a(info.o): info.c $Date: 2003/08/12 04:43:43 $Revision: 35.3 PA TCH_11.11 (PHKL_29611) /usr/conf/lib/libvxvm_vrts.a(info_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(ioctl_conv.o): None /usr/conf/lib/libvxvm_vrts.a(iod.o): None /usr/conf/lib/libvxvm_vrts.a(join_cvm.o): join_cvm.c $Date: 2003/01/31 11:55:20 $Revision: 35. 2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(kcontext.o): None /usr/conf/lib/libvxvm_vrts.a(kio_sys.o): None /usr/conf/lib/libvxvm_vrts.a(kiostart.o): None /usr/conf/lib/libvxvm_vrts.a(kiosubr.o): None /usr/conf/lib/libvxvm_vrts.a(kmsg_common.o): kmsg_common.c $Date: 2002/10/07 09:34:21 $Revision: 35.3 PATCH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(kmsg_cvm.o): kmsg_cvm.c $Date: 2003/11/03 03:18:20 $Revision: 35. 2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(kmsg_gab.o): None /usr/conf/lib/libvxvm_vrts.a(kmsg_reqtbl_cvm.o): kmsg_reqtbl_cvm.c $Date: 2003/11/03 03:19:42 $Revisi on: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(kmsg_switchout.o): None /usr/conf/lib/libvxvm_vrts.a(kmsg_tcp.o): None /usr/conf/lib/libvxvm_vrts.a(kmsg_udp.o): kmsg_udp.c $Date: 2002/10/16 09:58:32 $Revision: 35. 5 PATCH_11.11 (PHCO_27972) /usr/conf/lib/libvxvm_vrts.a(kr_upgrade.o): None /usr/conf/lib/libvxvm_vrts.a(kr_upgradetbl.o): None /usr/conf/lib/libvxvm_vrts.a(kru_10_20.o): None /usr/conf/lib/libvxvm_vrts.a(kru_20_30.o): None /usr/conf/lib/libvxvm_vrts.a(kru_30_40.o): None /usr/conf/lib/libvxvm_vrts.a(ktrans.o): ktrans.c $Date: 2003/11/03 03:21:46 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(ktrans_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(linksio.o): None /usr/conf/lib/libvxvm_vrts.a(memdbg.o): None /usr/conf/lib/libvxvm_vrts.a(mempool.o): None /usr/conf/lib/libvxvm_vrts.a(monitor_cvm.o): monitor_cvm.c $Date: 2003/11/03 03:23:00 $Revision: 35.6 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(msg_cvm.o): msg_cvm.c $Date: 2003/11/03 03:24:55 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(msg_diskpolicy.o): None /usr/conf/lib/libvxvm_vrts.a(msg_dmp.o): msg_dmp.c $Date: 2003/01/31 11:55:27 $Revision: 35.2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(mv.o): mv.c $Date: 2003/11/03 03:26:25 $Revision: 35.5 PATC H_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(mv_cvm.o): mv_cvm.c $Date: 2003/11/03 03:29:14 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(mv_detdrl_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(mvio.o): mvio.c $Date: 2003/11/03 03:30:21 $Revision: 35.2 PA TCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(mvioctl.o): mvioctl.c $Date: 2003/11/03 03:31:58 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(mvioctl_sys.o): None /usr/conf/lib/libvxvm_vrts.a(mvlog.o): None /usr/conf/lib/libvxvm_vrts.a(netiod.o): None /usr/conf/lib/libvxvm_vrts.a(nmcom_cli.o): nmcom_cli.c $Date: 2003/05/14 01:14:18 $Revision: 35 .3 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(nmcom_cli_sys.o): None /usr/conf/lib/libvxvm_vrts.a(nmcom_cs.o): None /usr/conf/lib/libvxvm_vrts.a(nmcom_srv.o): nmcom_srv.c $Date: 2003/11/07 07:49:18 $Revision: 35 .5 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(nmstable.o): nmstable.c $Date: 2003/02/06 08:34:37 $Revision: 35. 2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(node_cvm.o): node_cvm.c $Date: 2003/11/03 03:34:16 $Revision: 35. 2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(objioctl.o): None /usr/conf/lib/libvxvm_vrts.a(objioctl_sys.o): None /usr/conf/lib/libvxvm_vrts.a(objsubr.o): None /usr/conf/lib/libvxvm_vrts.a(objtypes.o): None /usr/conf/lib/libvxvm_vrts.a(oessio_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(plex.o): plex.c $Date: 2002/10/07 09:35:30 $Revision: 35.2 PA TCH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(poold.o): poold.c $Date: 2003/01/31 11:55:13 $Revision: 35.2 P ATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(privmem.o): None /usr/conf/lib/libvxvm_vrts.a(raid.o): None /usr/conf/lib/libvxvm_vrts.a(raid_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(raidlog.o): None /usr/conf/lib/libvxvm_vrts.a(root.o): root.c $Date: 2003/05/14 01:17:47 $Revision: 35.3 PA TCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(rp.o): rp.c $Date: 2003/01/31 11:55:28 $Revision: 35.2 PATC H_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rpio.o): rpio.c $Date: 2003/02/06 08:34:35 $Revision: 35.2 PA TCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rpioctl.o): rpioctl.c $Date: 2003/01/31 11:55:24 $Revision: 35.2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rv.o): None /usr/conf/lib/libvxvm_vrts.a(rv_config.o): rv_config.c $Date: 2003/01/31 11:51:39 $Revision: 35 .3 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rv_dcm.o): rv_dcm.c $Date: 2003/12/05 04:55:59 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(rv_linksio.o): None /usr/conf/lib/libvxvm_vrts.a(rv_server.o): rv_server.c $Date: 2003/11/03 03:59:18 $Revision: 35 .5 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(rv_test.o): None /usr/conf/lib/libvxvm_vrts.a(rv_update.o): rv_update.c $Date: 2003/12/05 04:53:53 $Revision: 35 .6 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(rvio.o): rvio.c $Date: 2003/12/05 04:57:32 $Revision: 35.5 PA TCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(rvioctl.o): rvioctl.c $Date: 2003/01/31 11:55:26 $Revision: 35.2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rwsleep.o): None /usr/conf/lib/libvxvm_vrts.a(siosubr.o): siosubr.c $Date: 2003/12/05 04:58:57 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(splitsio.o): None /usr/conf/lib/libvxvm_vrts.a(srvmcore.o): srvmcore.c $Date: 2003/01/31 11:55:18 $Revision: 35. 3 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(stable.o): None /usr/conf/lib/libvxvm_vrts.a(subdisk.o): subdisk.c $Date: 2002/10/07 09:35:31 $Revision: 35.2 PATCH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(subr.o): subr.c $Date: 2003/11/03 04:07:09 $Revision: 35.2 PA TCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(subvolume.o): None /usr/conf/lib/libvxvm_vrts.a(task.o): None /usr/conf/lib/libvxvm_vrts.a(trace.o): None /usr/conf/lib/libvxvm_vrts.a(voldev.o): voldev.c $Date: 2004/02/18 00:47:44 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(voldio.o): None /usr/conf/lib/libvxvm_vrts.a(voldioctl.o): voldioctl.c $Date: 2003/08/12 04:46:11 $Revision: 35 .2 PATCH_11.11 (PHKL_29611) /usr/conf/lib/libvxvm_vrts.a(voldioctl_sys.o): voldioctl_sys.c $Date: 2003/05/17 05:51:01 $Revision : 35.3 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(voldmp_ioctl.o): None /usr/conf/lib/libvxvm_vrts.a(voldmp_pfsio.o): None /usr/conf/lib/libvxvm_vrts.a(voldmp_qssio.o): voldmp_qssio.c $Date: 2003/01/31 11:55:12 $Revision: 35.2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(volhp.o): unixvm:$Source: /project/unixvm-cvs/src/hp/kernel/vx vm/volhp.c,v $ volhp.c $Date: 2004/02/18 00:49:00 $Revision: 35.11 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(volhp_rel.o): None /usr/conf/lib/libvxvm_vrts.a(volinit.o): None /usr/conf/lib/libvxvm_vrts.a(voliomem.o): None /usr/conf/lib/libvxvm_vrts.a(volklog.o): None /usr/conf/lib/libvxvm_vrts.a(vollif.o): None /usr/conf/lib/libvxvm_vrts.a(volpack_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(volpack_vvr_nw.o): volpack_vvr_nw.c $Date: 2003/02/06 08:48:31 $Revisio n: 35.4 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(volquiesce.o): None /usr/conf/lib/libvxvm_vrts.a(volspec.o): volspec.c $Date: 2003/03/05 06:28:09 $Revision: 35.2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(volspec_stub.o): None /usr/conf/lib/libvxvm_vrts.a(volted.o): None /usr/conf/lib/libvxvm_vrts.a(volted_sys.o): None /usr/conf/lib/libvxvm_vrts.a(volxor.o): None /usr/conf/lib/libvxdmp_vrts.a(vxdmp.o): None /usr/conf/lib/libvxvm_vrts.a(vxvm.o): vxvm.c ate: 2002/10/07 09:35:21 evision: 35.1 PATCH_ 11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(what_vers.o): $Revision: VERITAS internal build on Wed Feb 18 02:2 8:06 MST 2004 by ruchi@veritas1 VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_64,v=HP: /opt/VRTS/bin/unconfigure.VXVM: unconfigure $Date: 2003/04/01 08:22:26 $Revision: 35 .4 PATCH_11.11 (PHKL_28459) src/hp/package/vxvm/pkg_scripts/unconfigure 1.9. 66.2 09/12/02 15:08:55 - Copyright (c) 1999 VERITAS Software Corp. unixvm:src/hp/package/vxvm/pkg_scripts/unconfigure 1 .9.66.2 /usr/conf/lib/libvxvm_vrts.a(conf_srvm.o): None /usr/conf/lib/libvxvm_vrts.a(conv_func32.o): None /usr/conf/lib/libvxvm_vrts.a(conv_func64.o): None /usr/conf/lib/libvxvm_vrts.a(cpulocks.o): cpulocks.c $Date: 2002/10/07 09:35:21 $Revision: 35. 2 PATCH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(dcm.o): dcm.c $Date: 2003/04/04 01:10:20 $Revision: 35.2 PAT CH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(dco.o): dco.c $Date: 2002/10/07 09:35:28 $Revision: 35.2 PAT CH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(devmap.o): devmap.c $Date: 2003/11/12 05:13:18 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(devmap_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(dg.o): dg.c $Date: 2003/08/12 04:12:24 $Revision: 35.2 PATC H_11.11 (PHKL_29611) /usr/conf/lib/libvxvm_vrts.a(dg_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(disk.o): disk.c $Date: 2003/11/21 22:47:11 $Revision: 35.5 PA TCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(diskio.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpaa.o): dmpaa.c $Date: 2003/03/05 05:36:53 $Revision: 35.2 P ATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpap_auto.o): dmpap_auto.c $Date: 2004/02/18 00:38:20 $Revision: 3 5.7 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpap_failover.o): dmpap_failover.c $Date: 2003/03/05 05:38:45 $Revisio n: 35.2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpap_grp.o): dmpap_grp.c $Date: 2003/03/05 02:40:31 $Revision: 35 .3 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpapf_sys.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpconv_func32.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpconv_func64.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpdb.o): dmpdb.c $Date: 2004/02/18 00:39:48 $Revision: 35.9 P ATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpdev.o): dmpdev.c $Date: 2003/05/17 05:41:10 $Revision: 35.3 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpdev_sys.o): dmpdev_sys.c $Date: 2003/03/05 05:58:19 $Revision: 3 5.2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmperrord.o): dmperrord.c $Date: 2003/11/03 02:26:56 $Revision: 35 .5 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpgen_da.o): dmpgen_da.c $Date: 2004/03/03 11:07:00 $Revision: 35 .8 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpglobals.o): None /usr/conf/lib/libvxdmp_vrts.a(dmphp.o): dmphp.c $Date: 2003/05/08 01:44:34 $Revision: 35.3 P ATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpioctl.o): dmpioctl.c $Date: 2004/02/18 00:44:27 $Revision: 35. 7 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpioctl_conv.o): None /usr/conf/lib/libvxdmp_vrts.a(dmplic.o): None /usr/conf/lib/libvxdmp_vrts.a(dmplock.o): None /usr/conf/lib/libvxdmp_vrts.a(dmpmigration.o): dmpmigration.c $Date: 2003/05/17 05:46:09 $Revision: 35.2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpmisc.o): dmpmisc.c $Date: 2004/03/03 11:06:59 $Revision: 35.3 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxdmp_vrts.a(dmpops.o): dmpops.c $Date: 2003/11/03 02:33:08 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmppgr.o): dmppgr.c $Date: 2003/03/05 07:45:39 $Revision: 1.3 P ATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmppgrio.o): dmppgrio.c $Date: 2003/04/04 00:52:32 $Revision: 1.4 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxdmp_vrts.a(dmpreconfig.o): None /usr/conf/lib/libvxdmp_vrts.a(dmprestore.o): dmprestore.c $Date: 2003/11/03 02:34:26 $Revision: 3 5.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpscsi.o): dmpscsi.c $Date: 2003/11/03 06:40:54 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxdmp_vrts.a(dmpstats.o): None /usr/conf/lib/libvxdmp_vrts.a(dmptpapi.o): None /usr/conf/lib/libvxdmp_vrts.a(dmputility.o): None /usr/conf/lib/libvxvm_vrts.a(drl.o): None /usr/conf/lib/libvxvm_vrts.a(drl_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(dskinfo.o): None /usr/conf/lib/libvxvm_vrts.a(errsio.o): None /usr/conf/lib/libvxvm_vrts.a(fmr.o): fmr.c $Date: 2003/11/03 02:41:18 $Revision: 35.3 PAT CH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(function_names.o): None /usr/conf/lib/libvxvm_vrts.a(gabintf_cvm.o): vxfen_defs.h $Date: 2003/05/13 21:54:59 $Revision: 3 5.9 PATCH_11.11 (PHKL_28794) gabintf_cvm.c $Date: 2003/11/03 03:14:15 $Revision: 35.4 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(ghostio.o): None /usr/conf/lib/libvxvm_vrts.a(heartbeat.o): heartbeat.c $Date: 2003/01/31 11:55:29 $Revision: 35 .2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(ibc.o): ibc.c $Date: 2003/11/03 03:16:43 $Revision: 35.3 PAT CH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(ilock.o): ilock.c $Date: 2003/04/04 01:12:57 $Revision: 35.2 P ATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(ilock_cvm.o): ilock_cvm.c $Date: 2003/04/04 01:15:07 $Revision: 35 .2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(indioctl.o): None /usr/conf/lib/libvxvm_vrts.a(info.o): info.c $Date: 2003/08/12 04:43:43 $Revision: 35.3 PA TCH_11.11 (PHKL_29611) /usr/conf/lib/libvxvm_vrts.a(info_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(ioctl_conv.o): None /usr/conf/lib/libvxvm_vrts.a(iod.o): None /usr/conf/lib/libvxvm_vrts.a(join_cvm.o): join_cvm.c $Date: 2003/01/31 11:55:20 $Revision: 35. 2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(kcontext.o): None /usr/conf/lib/libvxvm_vrts.a(kio_sys.o): None /usr/conf/lib/libvxvm_vrts.a(kiostart.o): None /usr/conf/lib/libvxvm_vrts.a(kiosubr.o): None /usr/conf/lib/libvxvm_vrts.a(kmsg_common.o): kmsg_common.c $Date: 2002/10/07 09:34:21 $Revision: 35.3 PATCH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(kmsg_cvm.o): kmsg_cvm.c $Date: 2003/11/03 03:18:20 $Revision: 35. 2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(kmsg_gab.o): None /usr/conf/lib/libvxvm_vrts.a(kmsg_reqtbl_cvm.o): kmsg_reqtbl_cvm.c $Date: 2003/11/03 03:19:42 $Revisi on: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(kmsg_switchout.o): None /usr/conf/lib/libvxvm_vrts.a(kmsg_tcp.o): None /usr/conf/lib/libvxvm_vrts.a(kmsg_udp.o): kmsg_udp.c $Date: 2002/10/16 09:58:32 $Revision: 35. 5 PATCH_11.11 (PHCO_27972) /usr/conf/lib/libvxvm_vrts.a(kr_upgrade.o): None /usr/conf/lib/libvxvm_vrts.a(kr_upgradetbl.o): None /usr/conf/lib/libvxvm_vrts.a(kru_10_20.o): None /usr/conf/lib/libvxvm_vrts.a(kru_20_30.o): None /usr/conf/lib/libvxvm_vrts.a(kru_30_40.o): None /usr/conf/lib/libvxvm_vrts.a(ktrans.o): ktrans.c $Date: 2003/11/03 03:21:46 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(ktrans_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(linksio.o): None /usr/conf/lib/libvxvm_vrts.a(memdbg.o): None /usr/conf/lib/libvxvm_vrts.a(mempool.o): None /usr/conf/lib/libvxvm_vrts.a(monitor_cvm.o): monitor_cvm.c $Date: 2003/11/03 03:23:00 $Revision: 35.6 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(msg_cvm.o): msg_cvm.c $Date: 2003/11/03 03:24:55 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(msg_diskpolicy.o): None /usr/conf/lib/libvxvm_vrts.a(msg_dmp.o): msg_dmp.c $Date: 2003/01/31 11:55:27 $Revision: 35.2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(mv.o): mv.c $Date: 2003/11/03 03:26:25 $Revision: 35.5 PATC H_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(mv_cvm.o): mv_cvm.c $Date: 2003/11/03 03:29:14 $Revision: 35.3 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(mv_detdrl_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(mvio.o): mvio.c $Date: 2003/11/03 03:30:21 $Revision: 35.2 PA TCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(mvioctl.o): mvioctl.c $Date: 2003/11/03 03:31:58 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(mvioctl_sys.o): None /usr/conf/lib/libvxvm_vrts.a(mvlog.o): None /usr/conf/lib/libvxvm_vrts.a(netiod.o): None /usr/conf/lib/libvxvm_vrts.a(nmcom_cli.o): nmcom_cli.c $Date: 2003/05/14 01:14:18 $Revision: 35 .3 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(nmcom_cli_sys.o): None /usr/conf/lib/libvxvm_vrts.a(nmcom_cs.o): None /usr/conf/lib/libvxvm_vrts.a(nmcom_srv.o): nmcom_srv.c $Date: 2003/11/07 07:49:18 $Revision: 35 .5 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(nmstable.o): nmstable.c $Date: 2003/02/06 08:34:37 $Revision: 35. 2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(node_cvm.o): node_cvm.c $Date: 2003/11/03 03:34:16 $Revision: 35. 2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(objioctl.o): None /usr/conf/lib/libvxvm_vrts.a(objioctl_sys.o): None /usr/conf/lib/libvxvm_vrts.a(objsubr.o): None /usr/conf/lib/libvxvm_vrts.a(objtypes.o): None /usr/conf/lib/libvxvm_vrts.a(oessio_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(plex.o): plex.c $Date: 2002/10/07 09:35:30 $Revision: 35.2 PA TCH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(poold.o): poold.c $Date: 2003/01/31 11:55:13 $Revision: 35.2 P ATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(privmem.o): None /usr/conf/lib/libvxvm_vrts.a(raid.o): None /usr/conf/lib/libvxvm_vrts.a(raid_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(raidlog.o): None /usr/conf/lib/libvxvm_vrts.a(root.o): root.c $Date: 2003/05/14 01:17:47 $Revision: 35.3 PA TCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(rp.o): rp.c $Date: 2003/01/31 11:55:28 $Revision: 35.2 PATC H_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rpio.o): rpio.c $Date: 2003/02/06 08:34:35 $Revision: 35.2 PA TCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rpioctl.o): rpioctl.c $Date: 2003/01/31 11:55:24 $Revision: 35.2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rv.o): None /usr/conf/lib/libvxvm_vrts.a(rv_config.o): rv_config.c $Date: 2003/01/31 11:51:39 $Revision: 35 .3 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rv_dcm.o): rv_dcm.c $Date: 2003/12/05 04:55:59 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(rv_linksio.o): None /usr/conf/lib/libvxvm_vrts.a(rv_server.o): rv_server.c $Date: 2003/11/03 03:59:18 $Revision: 35 .5 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(rv_test.o): None /usr/conf/lib/libvxvm_vrts.a(rv_update.o): rv_update.c $Date: 2003/12/05 04:53:53 $Revision: 35 .6 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(rvio.o): rvio.c $Date: 2003/12/05 04:57:32 $Revision: 35.5 PA TCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(rvioctl.o): rvioctl.c $Date: 2003/01/31 11:55:26 $Revision: 35.2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(rwsleep.o): None /usr/conf/lib/libvxvm_vrts.a(siosubr.o): siosubr.c $Date: 2003/12/05 04:58:57 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(splitsio.o): None /usr/conf/lib/libvxvm_vrts.a(srvmcore.o): srvmcore.c $Date: 2003/01/31 11:55:18 $Revision: 35. 3 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(stable.o): None /usr/conf/lib/libvxvm_vrts.a(subdisk.o): subdisk.c $Date: 2002/10/07 09:35:31 $Revision: 35.2 PATCH_11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(subr.o): subr.c $Date: 2003/11/03 04:07:09 $Revision: 35.2 PA TCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(subvolume.o): None /usr/conf/lib/libvxvm_vrts.a(task.o): None /usr/conf/lib/libvxvm_vrts.a(trace.o): None /usr/conf/lib/libvxvm_vrts.a(voldev.o): voldev.c $Date: 2004/02/18 00:47:44 $Revision: 35.2 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(voldio.o): None /usr/conf/lib/libvxvm_vrts.a(voldioctl.o): voldioctl.c $Date: 2003/08/12 04:46:11 $Revision: 35 .2 PATCH_11.11 (PHKL_29611) /usr/conf/lib/libvxvm_vrts.a(voldioctl_sys.o): voldioctl_sys.c $Date: 2003/05/17 05:51:01 $Revision : 35.3 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(voldmp_ioctl.o): None /usr/conf/lib/libvxvm_vrts.a(voldmp_pfsio.o): None /usr/conf/lib/libvxvm_vrts.a(voldmp_qssio.o): voldmp_qssio.c $Date: 2003/01/31 11:55:12 $Revision: 35.2 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(volhp.o): unixvm:$Source: /project/unixvm-cvs/src/hp/kernel/vx vm/volhp.c,v $ volhp.c $Date: 2004/02/18 00:49:00 $Revision: 35.11 PATCH_11.11 (PHKL_29981) /usr/conf/lib/libvxvm_vrts.a(volhp_rel.o): None /usr/conf/lib/libvxvm_vrts.a(volinit.o): None /usr/conf/lib/libvxvm_vrts.a(voliomem.o): None /usr/conf/lib/libvxvm_vrts.a(volklog.o): None /usr/conf/lib/libvxvm_vrts.a(vollif.o): None /usr/conf/lib/libvxvm_vrts.a(volpack_cvm.o): None /usr/conf/lib/libvxvm_vrts.a(volpack_vvr_nw.o): volpack_vvr_nw.c $Date: 2003/02/06 08:48:31 $Revisio n: 35.4 PATCH_11.11 (PHKL_28459) /usr/conf/lib/libvxvm_vrts.a(volquiesce.o): None /usr/conf/lib/libvxvm_vrts.a(volspec.o): volspec.c $Date: 2003/03/05 06:28:09 $Revision: 35.2 PATCH_11.11 (PHKL_28794) /usr/conf/lib/libvxvm_vrts.a(volspec_stub.o): None /usr/conf/lib/libvxvm_vrts.a(volted.o): None /usr/conf/lib/libvxvm_vrts.a(volted_sys.o): None /usr/conf/lib/libvxvm_vrts.a(volxor.o): None /usr/conf/lib/libvxdmp_vrts.a(vxdmp.o): None /usr/conf/lib/libvxvm_vrts.a(vxvm.o): vxvm.c ate: 2002/10/07 09:35:21 evision: 35.1 PATCH_ 11.11 (PHKL_27971) /usr/conf/lib/libvxvm_vrts.a(what_vers.o): $Revision: VERITAS internal build on Wed Feb 18 02:2 9:18 MST 2004 by ruchi@veritas1 cksum(1) Output: VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_32,v=HP: 1732226745 6068 /opt/VRTS/bin/unconfigure.VXVM 3538554400 992 /usr/conf/lib/libvxvm_vrts.a(conf_srvm.o) 298314201 28772 /usr/conf/lib/libvxvm_vrts.a(conv_func32.o) 2655543285 18652 /usr/conf/lib/libvxvm_vrts.a(conv_func64.o) 2129178272 9948 /usr/conf/lib/libvxvm_vrts.a(cpulocks.o) 1300938555 12624 /usr/conf/lib/libvxvm_vrts.a(dcm.o) 1634999439 47524 /usr/conf/lib/libvxvm_vrts.a(dco.o) 1982341541 12064 /usr/conf/lib/libvxvm_vrts.a(devmap.o) 2274704124 5236 /usr/conf/lib/libvxvm_vrts.a(devmap_cvm.o) 3609248587 10840 /usr/conf/lib/libvxvm_vrts.a(dg.o) 1833375669 13968 /usr/conf/lib/libvxvm_vrts.a(dg_cvm.o) 3383224846 9052 /usr/conf/lib/libvxvm_vrts.a(disk.o) 4079218197 12004 /usr/conf/lib/libvxvm_vrts.a(diskio.o) 746708410 1496 /usr/conf/lib/libvxdmp_vrts.a(dmpaa.o) 1246833213 3288 /usr/conf/lib/libvxdmp_vrts.a(dmpap_auto.o) 4089527495 1640 /usr/conf/lib/ libvxdmp_vrts.a(dmpap_failover.o) 3028678869 4080 /usr/conf/lib/libvxdmp_vrts.a(dmpap_grp.o) 1263642603 2480 /usr/conf/lib/libvxdmp_vrts.a(dmpapf_sys.o) 2695843061 10976 /usr/conf/lib/ libvxdmp_vrts.a(dmpconv_func32.o) 2797096282 6840 /usr/conf/lib/ libvxdmp_vrts.a(dmpconv_func64.o) 2979809304 15452 /usr/conf/lib/libvxdmp_vrts.a(dmpdb.o) 1643503354 13068 /usr/conf/lib/libvxdmp_vrts.a(dmpdev.o) 3653448525 5596 /usr/conf/lib/libvxdmp_vrts.a(dmpdev_sys.o) 1407648087 6892 /usr/conf/lib/libvxdmp_vrts.a(dmperrord.o) 2871968114 7196 /usr/conf/lib/libvxdmp_vrts.a(dmpgen_da.o) 2386074719 2468 /usr/conf/lib/libvxdmp_vrts.a(dmpglobals.o) 2985540298 18412 /usr/conf/lib/libvxdmp_vrts.a(dmphp.o) 2989598978 33668 /usr/conf/lib/libvxdmp_vrts.a(dmpioctl.o) 4096801084 5256 /usr/conf/lib/ libvxdmp_vrts.a(dmpioctl_conv.o) 1802415225 3092 /usr/conf/lib/libvxdmp_vrts.a(dmplic.o) 4031628340 3996 /usr/conf/lib/libvxdmp_vrts.a(dmplock.o) 3663764271 10468 /usr/conf/lib/ libvxdmp_vrts.a(dmpmigration.o) 973932278 8696 /usr/conf/lib/libvxdmp_vrts.a(dmpmisc.o) 2321320674 2696 /usr/conf/lib/libvxdmp_vrts.a(dmpops.o) 1685292841 6420 /usr/conf/lib/libvxdmp_vrts.a(dmppgr.o) 3612239130 2424 /usr/conf/lib/libvxdmp_vrts.a(dmppgrio.o) 4000999305 3584 /usr/conf/lib/libvxdmp_vrts.a(dmpreconfig.o) 3384315266 7500 /usr/conf/lib/libvxdmp_vrts.a(dmprestore.o) 2522163459 2856 /usr/conf/lib/libvxdmp_vrts.a(dmpscsi.o) 2667427105 4264 /usr/conf/lib/libvxdmp_vrts.a(dmpstats.o) 3455324811 1168 /usr/conf/lib/libvxdmp_vrts.a(dmptpapi.o) 3475323230 3248 /usr/conf/lib/libvxdmp_vrts.a(dmputility.o) 2871920113 20344 /usr/conf/lib/libvxvm_vrts.a(drl.o) 301228067 5728 /usr/conf/lib/libvxvm_vrts.a(drl_cvm.o) 343489485 1800 /usr/conf/lib/libvxvm_vrts.a(dskinfo.o) 413394144 1984 /usr/conf/lib/libvxvm_vrts.a(errsio.o) 2158326816 20136 /usr/conf/lib/libvxvm_vrts.a(fmr.o) 824686451 1177852 /usr/conf/lib/ libvxvm_vrts.a(function_names.o) 2049440266 10824 /usr/conf/lib/libvxvm_vrts.a(gabintf_cvm.o) 2661051615 2104 /usr/conf/lib/libvxvm_vrts.a(ghostio.o) 1494541828 26180 /usr/conf/lib/libvxvm_vrts.a(heartbeat.o) 240258851 19428 /usr/conf/lib/libvxvm_vrts.a(ibc.o) 3479626180 6200 /usr/conf/lib/libvxvm_vrts.a(ilock.o) 617802417 19592 /usr/conf/lib/libvxvm_vrts.a(ilock_cvm.o) 1496991297 1808 /usr/conf/lib/libvxvm_vrts.a(indioctl.o) 461544371 8624 /usr/conf/lib/libvxvm_vrts.a(info.o) 2449401019 10032 /usr/conf/lib/libvxvm_vrts.a(info_cvm.o) 2895296341 5196 /usr/conf/lib/libvxvm_vrts.a(ioctl_conv.o) 1273797160 10976 /usr/conf/lib/libvxvm_vrts.a(iod.o) 2233081953 17840 /usr/conf/lib/libvxvm_vrts.a(join_cvm.o) 1444715947 7012 /usr/conf/lib/libvxvm_vrts.a(kcontext.o) 4017389457 2920 /usr/conf/lib/libvxvm_vrts.a(kio_sys.o) 1446047821 4452 /usr/conf/lib/libvxvm_vrts.a(kiostart.o) 427147386 6232 /usr/conf/lib/libvxvm_vrts.a(kiosubr.o) 429434988 7924 /usr/conf/lib/libvxvm_vrts.a(kmsg_common.o) 2060780956 56124 /usr/conf/lib/libvxvm_vrts.a(kmsg_cvm.o) 2559232156 3704 /usr/conf/lib/libvxvm_vrts.a(kmsg_gab.o) 1559722434 17096 /usr/conf/lib/ libvxvm_vrts.a(kmsg_reqtbl_cvm.o) 2306630084 2212 /usr/conf/lib/ libvxvm_vrts.a(kmsg_switchout.o) 916750958 4904 /usr/conf/lib/libvxvm_vrts.a(kmsg_tcp.o) 2261387777 2968 /usr/conf/lib/libvxvm_vrts.a(kmsg_udp.o) 1912585781 10532 /usr/conf/lib/libvxvm_vrts.a(kr_upgrade.o) 2289551553 1692 /usr/conf/lib/ libvxvm_vrts.a(kr_upgradetbl.o) 2177936405 1472 /usr/conf/lib/libvxvm_vrts.a(kru_10_20.o) 687363814 1628 /usr/conf/lib/libvxvm_vrts.a(kru_20_30.o) 793728223 1472 /usr/conf/lib/libvxvm_vrts.a(kru_30_40.o) 1394380412 19320 /usr/conf/lib/libvxvm_vrts.a(ktrans.o) 2341944573 11772 /usr/conf/lib/libvxvm_vrts.a(ktrans_cvm.o) 2915786294 3192 /usr/conf/lib/libvxvm_vrts.a(linksio.o) 3507895652 1088 /usr/conf/lib/libvxvm_vrts.a(memdbg.o) 3753738091 4160 /usr/conf/lib/libvxvm_vrts.a(mempool.o) 2084149093 52208 /usr/conf/lib/libvxvm_vrts.a(monitor_cvm.o) 280617923 26032 /usr/conf/lib/libvxvm_vrts.a(msg_cvm.o) 1942093361 4052 /usr/conf/lib/ libvxvm_vrts.a(msg_diskpolicy.o) 1490863695 18580 /usr/conf/lib/libvxvm_vrts.a(msg_dmp.o) 1924258869 11964 /usr/conf/lib/libvxvm_vrts.a(mv.o) 1397164063 36868 /usr/conf/lib/libvxvm_vrts.a(mv_cvm.o) 3307265530 3020 /usr/conf/lib/ libvxvm_vrts.a(mv_detdrl_cvm.o) 2178500198 45776 /usr/conf/lib/libvxvm_vrts.a(mvio.o) 292259630 37840 /usr/conf/lib/libvxvm_vrts.a(mvioctl.o) 635700721 2264 /usr/conf/lib/libvxvm_vrts.a(mvioctl_sys.o) 3306618423 5068 /usr/conf/lib/libvxvm_vrts.a(mvlog.o) 3688866634 8392 /usr/conf/lib/libvxvm_vrts.a(netiod.o) 2854152873 25564 /usr/conf/lib/libvxvm_vrts.a(nmcom_cli.o) 2759237334 6880 /usr/conf/lib/ libvxvm_vrts.a(nmcom_cli_sys.o) 2313852955 5268 /usr/conf/lib/libvxvm_vrts.a(nmcom_cs.o) 2835880971 54800 /usr/conf/lib/libvxvm_vrts.a(nmcom_srv.o) 2810295633 2164 /usr/conf/lib/libvxvm_vrts.a(nmstable.o) 143265221 7004 /usr/conf/lib/libvxvm_vrts.a(node_cvm.o) 559362013 2800 /usr/conf/lib/libvxvm_vrts.a(objioctl.o) 2252958244 1720 /usr/conf/lib/libvxvm_vrts.a(objioctl_sys.o) 1850019260 13552 /usr/conf/lib/libvxvm_vrts.a(objsubr.o) 944130245 1588 /usr/conf/lib/libvxvm_vrts.a(objtypes.o) 419663222 5056 /usr/conf/lib/libvxvm_vrts.a(oessio_cvm.o) 1095643536 10060 /usr/conf/lib/libvxvm_vrts.a(plex.o) 1014144709 1940 /usr/conf/lib/libvxvm_vrts.a(poold.o) 1374268308 2712 /usr/conf/lib/libvxvm_vrts.a(privmem.o) 261742527 59620 /usr/conf/lib/libvxvm_vrts.a(raid.o) 4083923960 16372 /usr/conf/lib/libvxvm_vrts.a(raid_cvm.o) 2394978208 18352 /usr/conf/lib/libvxvm_vrts.a(raidlog.o) 3463620854 8424 /usr/conf/lib/libvxvm_vrts.a(root.o) 3297891668 9212 /usr/conf/lib/libvxvm_vrts.a(rp.o) 778282980 23064 /usr/conf/lib/libvxvm_vrts.a(rpio.o) 1523591571 15384 /usr/conf/lib/libvxvm_vrts.a(rpioctl.o) 1040236787 12252 /usr/conf/lib/libvxvm_vrts.a(rv.o) 3938306088 14860 /usr/conf/lib/libvxvm_vrts.a(rv_config.o) 2932586421 14800 /usr/conf/lib/libvxvm_vrts.a(rv_dcm.o) 2463645917 3324 /usr/conf/lib/libvxvm_vrts.a(rv_linksio.o) 242287348 66772 /usr/conf/lib/libvxvm_vrts.a(rv_server.o) 1780353130 1088 /usr/conf/lib/libvxvm_vrts.a(rv_test.o) 405753941 75224 /usr/conf/lib/libvxvm_vrts.a(rv_update.o) 282471755 65448 /usr/conf/lib/libvxvm_vrts.a(rvio.o) 2376612467 5084 /usr/conf/lib/libvxvm_vrts.a(rvioctl.o) 2111025233 2964 /usr/conf/lib/libvxvm_vrts.a(rwsleep.o) 3480800070 5244 /usr/conf/lib/libvxvm_vrts.a(siosubr.o) 2776386643 3528 /usr/conf/lib/libvxvm_vrts.a(splitsio.o) 3379139146 1504 /usr/conf/lib/libvxvm_vrts.a(srvmcore.o) 942424354 2020 /usr/conf/lib/libvxvm_vrts.a(stable.o) 4294424999 6024 /usr/conf/lib/libvxvm_vrts.a(subdisk.o) 388196489 5384 /usr/conf/lib/libvxvm_vrts.a(subr.o) 2016142641 4672 /usr/conf/lib/libvxvm_vrts.a(subvolume.o) 2590571305 11388 /usr/conf/lib/libvxvm_vrts.a(task.o) 2956500513 15588 /usr/conf/lib/libvxvm_vrts.a(trace.o) 1915335170 11744 /usr/conf/lib/libvxvm_vrts.a(voldev.o) 1812331770 2932 /usr/conf/lib/libvxvm_vrts.a(voldio.o) 2685825340 12216 /usr/conf/lib/libvxvm_vrts.a(voldioctl.o) 2097269759 2740 /usr/conf/lib/ libvxvm_vrts.a(voldioctl_sys.o) 364654725 7520 /usr/conf/lib/libvxvm_vrts.a(voldmp_ioctl.o) 1233088888 3076 /usr/conf/lib/libvxvm_vrts.a(voldmp_pfsio.o) 2275095407 3380 /usr/conf/lib/libvxvm_vrts.a(voldmp_qssio.o) 1671032218 37796 /usr/conf/lib/libvxvm_vrts.a(volhp.o) 2885000724 3736 /usr/conf/lib/libvxvm_vrts.a(volhp_rel.o) 1216439658 3692 /usr/conf/lib/libvxvm_vrts.a(volinit.o) 3818458719 6820 /usr/conf/lib/libvxvm_vrts.a(voliomem.o) 836954243 30292 /usr/conf/lib/libvxvm_vrts.a(volklog.o) 1291030891 3240 /usr/conf/lib/libvxvm_vrts.a(vollif.o) 2382744089 96868 /usr/conf/lib/libvxvm_vrts.a(volpack_cvm.o) 1258834388 10620 /usr/conf/lib/ libvxvm_vrts.a(volpack_vvr_nw.o) 2597533054 2172 /usr/conf/lib/libvxvm_vrts.a(volquiesce.o) 1666789894 5520 /usr/conf/lib/libvxvm_vrts.a(volspec.o) 3527943738 1960 /usr/conf/lib/libvxvm_vrts.a(volspec_stub.o) 1089541306 696 /usr/conf/lib/libvxvm_vrts.a(volted.o) 3863467698 1096 /usr/conf/lib/libvxvm_vrts.a(volted_sys.o) 3708504806 1392 /usr/conf/lib/libvxvm_vrts.a(volxor.o) 1272779569 252212 /usr/conf/lib/libvxdmp_vrts.a(vxdmp.o) 1190962183 439456 /usr/conf/lib/libvxvm_vrts.a(vxvm.o) 426954613 1916 /usr/conf/lib/libvxvm_vrts.a(what_vers.o) VRTSvxvm.VXVM-KRN,fr=3.5m,fa=HP-UX_B.11.11_64,v=HP: 1732226745 6068 /opt/VRTS/bin/unconfigure.VXVM 137570778 2200 /usr/conf/lib/libvxvm_vrts.a(conf_srvm.o) 185636572 37776 /usr/conf/lib/libvxvm_vrts.a(conv_func32.o) 201326008 19584 /usr/conf/lib/libvxvm_vrts.a(conv_func64.o) 3776443329 17200 /usr/conf/lib/libvxvm_vrts.a(cpulocks.o) 1697447298 27336 /usr/conf/lib/libvxvm_vrts.a(dcm.o) 2039754307 100576 /usr/conf/lib/libvxvm_vrts.a(dco.o) 836131274 29856 /usr/conf/lib/libvxvm_vrts.a(devmap.o) 121397393 12872 /usr/conf/lib/libvxvm_vrts.a(devmap_cvm.o) 4168092033 26360 /usr/conf/lib/libvxvm_vrts.a(dg.o) 1944405384 36216 /usr/conf/lib/libvxvm_vrts.a(dg_cvm.o) 4230746384 20104 /usr/conf/lib/libvxvm_vrts.a(disk.o) 164846186 27704 /usr/conf/lib/libvxvm_vrts.a(diskio.o) 1536385547 3016 /usr/conf/lib/libvxdmp_vrts.a(dmpaa.o) 2927494769 6728 /usr/conf/lib/libvxdmp_vrts.a(dmpap_auto.o) 723150386 3248 /usr/conf/lib/ libvxdmp_vrts.a(dmpap_failover.o) 2415471153 8720 /usr/conf/lib/libvxdmp_vrts.a(dmpap_grp.o) 1996727505 5920 /usr/conf/lib/libvxdmp_vrts.a(dmpapf_sys.o) 2105756410 15528 /usr/conf/lib/ libvxdmp_vrts.a(dmpconv_func32.o) 2592641147 7944 /usr/conf/lib/ libvxdmp_vrts.a(dmpconv_func64.o) 3175114662 35256 /usr/conf/lib/libvxdmp_vrts.a(dmpdb.o) 1314800248 26360 /usr/conf/lib/libvxdmp_vrts.a(dmpdev.o) 673572372 16344 /usr/conf/lib/libvxdmp_vrts.a(dmpdev_sys.o) 2061616786 15456 /usr/conf/lib/libvxdmp_vrts.a(dmperrord.o) 201014603 17864 /usr/conf/lib/libvxdmp_vrts.a(dmpgen_da.o) 2280520579 3896 /usr/conf/lib/libvxdmp_vrts.a(dmpglobals.o) 1402524949 50480 /usr/conf/lib/libvxdmp_vrts.a(dmphp.o) 256867445 79448 /usr/conf/lib/libvxdmp_vrts.a(dmpioctl.o) 2260956313 10224 /usr/conf/lib/ libvxdmp_vrts.a(dmpioctl_conv.o) 2916219782 6880 /usr/conf/lib/libvxdmp_vrts.a(dmplic.o) 1238406460 11864 /usr/conf/lib/libvxdmp_vrts.a(dmplock.o) 55115542 24272 /usr/conf/lib/libvxdmp_vrts.a(dmpmigration.o) 2536654068 23000 /usr/conf/lib/libvxdmp_vrts.a(dmpmisc.o) 1860375994 6000 /usr/conf/lib/libvxdmp_vrts.a(dmpops.o) 2915941059 15240 /usr/conf/lib/libvxdmp_vrts.a(dmppgr.o) 2702760057 4920 /usr/conf/lib/libvxdmp_vrts.a(dmppgrio.o) 4061648959 7792 /usr/conf/lib/libvxdmp_vrts.a(dmpreconfig.o) 2788707398 16792 /usr/conf/lib/libvxdmp_vrts.a(dmprestore.o) 2250787694 6008 /usr/conf/lib/libvxdmp_vrts.a(dmpscsi.o) 695735962 10368 /usr/conf/lib/libvxdmp_vrts.a(dmpstats.o) 355786506 3248 /usr/conf/lib/libvxdmp_vrts.a(dmptpapi.o) 813350266 8352 /usr/conf/lib/libvxdmp_vrts.a(dmputility.o) 961351250 46832 /usr/conf/lib/libvxvm_vrts.a(drl.o) 1255800915 11800 /usr/conf/lib/libvxvm_vrts.a(drl_cvm.o) 1486547030 3600 /usr/conf/lib/libvxvm_vrts.a(dskinfo.o) 1134300197 4320 /usr/conf/lib/libvxvm_vrts.a(errsio.o) 3560574850 41544 /usr/conf/lib/libvxvm_vrts.a(fmr.o) 3973902195 1827696 /usr/conf/lib/ libvxvm_vrts.a(function_names.o) 4284014132 24408 /usr/conf/lib/libvxvm_vrts.a(gabintf_cvm.o) 975987532 4952 /usr/conf/lib/libvxvm_vrts.a(ghostio.o) 2560869978 57552 /usr/conf/lib/libvxvm_vrts.a(heartbeat.o) 710007385 43216 /usr/conf/lib/libvxvm_vrts.a(ibc.o) 4191044076 13336 /usr/conf/lib/libvxvm_vrts.a(ilock.o) 2851786975 46144 /usr/conf/lib/libvxvm_vrts.a(ilock_cvm.o) 4103395540 3640 /usr/conf/lib/libvxvm_vrts.a(indioctl.o) 1784128141 20256 /usr/conf/lib/libvxvm_vrts.a(info.o) 3299191718 19352 /usr/conf/lib/libvxvm_vrts.a(info_cvm.o) 2730781220 10336 /usr/conf/lib/libvxvm_vrts.a(ioctl_conv.o) 4216524117 32040 /usr/conf/lib/libvxvm_vrts.a(iod.o) 3169494818 39712 /usr/conf/lib/libvxvm_vrts.a(join_cvm.o) 2571610845 14680 /usr/conf/lib/libvxvm_vrts.a(kcontext.o) 3818742577 6864 /usr/conf/lib/libvxvm_vrts.a(kio_sys.o) 822291243 8376 /usr/conf/lib/libvxvm_vrts.a(kiostart.o) 1203179710 13400 /usr/conf/lib/libvxvm_vrts.a(kiosubr.o) 842612995 24488 /usr/conf/lib/libvxvm_vrts.a(kmsg_common.o) 1061660352 151624 /usr/conf/lib/libvxvm_vrts.a(kmsg_cvm.o) 2792005603 9824 /usr/conf/lib/libvxvm_vrts.a(kmsg_gab.o) 1700943982 24672 /usr/conf/lib/ libvxvm_vrts.a(kmsg_reqtbl_cvm.o) 2345189171 5944 /usr/conf/lib/ libvxvm_vrts.a(kmsg_switchout.o) 257739241 13328 /usr/conf/lib/libvxvm_vrts.a(kmsg_tcp.o) 1252822018 5904 /usr/conf/lib/libvxvm_vrts.a(kmsg_udp.o) 2315484839 31472 /usr/conf/lib/libvxvm_vrts.a(kr_upgrade.o) 86846246 3200 /usr/conf/lib/libvxvm_vrts.a(kr_upgradetbl.o) 2173278226 3880 /usr/conf/lib/libvxvm_vrts.a(kru_10_20.o) 2311206738 4544 /usr/conf/lib/libvxvm_vrts.a(kru_20_30.o) 2835777574 3880 /usr/conf/lib/libvxvm_vrts.a(kru_30_40.o) 491151769 47496 /usr/conf/lib/libvxvm_vrts.a(ktrans.o) 4217609178 31016 /usr/conf/lib/libvxvm_vrts.a(ktrans_cvm.o) 3745208399 7200 /usr/conf/lib/libvxvm_vrts.a(linksio.o) 4286627361 2296 /usr/conf/lib/libvxvm_vrts.a(memdbg.o) 1006585854 10536 /usr/conf/lib/libvxvm_vrts.a(mempool.o) 3527616353 135648 /usr/conf/lib/ libvxvm_vrts.a(monitor_cvm.o) 725924075 59024 /usr/conf/lib/libvxvm_vrts.a(msg_cvm.o) 30117217 8384 /usr/conf/lib/libvxvm_vrts.a(msg_diskpolicy.o) 1103383558 44776 /usr/conf/lib/libvxvm_vrts.a(msg_dmp.o) 2426859119 22944 /usr/conf/lib/libvxvm_vrts.a(mv.o) 1983090498 76304 /usr/conf/lib/libvxvm_vrts.a(mv_cvm.o) 3133430585 6864 /usr/conf/lib/ libvxvm_vrts.a(mv_detdrl_cvm.o) 3073189705 83184 /usr/conf/lib/libvxvm_vrts.a(mvio.o) 169485796 76376 /usr/conf/lib/libvxvm_vrts.a(mvioctl.o) 628389948 4096 /usr/conf/lib/libvxvm_vrts.a(mvioctl_sys.o) 2857352902 11024 /usr/conf/lib/libvxvm_vrts.a(mvlog.o) 1187297321 20976 /usr/conf/lib/libvxvm_vrts.a(netiod.o) 3718415645 44184 /usr/conf/lib/libvxvm_vrts.a(nmcom_cli.o) 729758772 10696 /usr/conf/lib/ libvxvm_vrts.a(nmcom_cli_sys.o) 4219852042 9880 /usr/conf/lib/libvxvm_vrts.a(nmcom_cs.o) 234547592 89792 /usr/conf/lib/libvxvm_vrts.a(nmcom_srv.o) 1919229135 4104 /usr/conf/lib/libvxvm_vrts.a(nmstable.o) 2025762677 16680 /usr/conf/lib/libvxvm_vrts.a(node_cvm.o) 2436234669 5144 /usr/conf/lib/libvxvm_vrts.a(objioctl.o) 2430038919 3896 /usr/conf/lib/libvxvm_vrts.a(objioctl_sys.o) 3753700319 34232 /usr/conf/lib/libvxvm_vrts.a(objsubr.o) 1384274109 3120 /usr/conf/lib/libvxvm_vrts.a(objtypes.o) 1329396821 13280 /usr/conf/lib/libvxvm_vrts.a(oessio_cvm.o) 389716644 20136 /usr/conf/lib/libvxvm_vrts.a(plex.o) 181427934 3912 /usr/conf/lib/libvxvm_vrts.a(poold.o) 3542077886 6640 /usr/conf/lib/libvxvm_vrts.a(privmem.o) 2402066330 107120 /usr/conf/lib/libvxvm_vrts.a(raid.o) 3172829581 34440 /usr/conf/lib/libvxvm_vrts.a(raid_cvm.o) 1920665732 30672 /usr/conf/lib/libvxvm_vrts.a(raidlog.o) 2616285917 22568 /usr/conf/lib/libvxvm_vrts.a(root.o) 2475402415 16312 /usr/conf/lib/libvxvm_vrts.a(rp.o) 1735856721 41880 /usr/conf/lib/libvxvm_vrts.a(rpio.o) 3544409165 30728 /usr/conf/lib/libvxvm_vrts.a(rpioctl.o) 1900592858 23544 /usr/conf/lib/libvxvm_vrts.a(rv.o) 1605061517 34368 /usr/conf/lib/libvxvm_vrts.a(rv_config.o) 3723738178 27848 /usr/conf/lib/libvxvm_vrts.a(rv_dcm.o) 490348337 7456 /usr/conf/lib/libvxvm_vrts.a(rv_linksio.o) 1730450006 137728 /usr/conf/lib/libvxvm_vrts.a(rv_server.o) 402759824 2304 /usr/conf/lib/libvxvm_vrts.a(rv_test.o) 4202655196 136528 /usr/conf/lib/libvxvm_vrts.a(rv_update.o) 805416969 128344 /usr/conf/lib/libvxvm_vrts.a(rvio.o) 3575899103 10440 /usr/conf/lib/libvxvm_vrts.a(rvioctl.o) 2613218851 7768 /usr/conf/lib/libvxvm_vrts.a(rwsleep.o) 606862841 11096 /usr/conf/lib/libvxvm_vrts.a(siosubr.o) 1912200648 7008 /usr/conf/lib/libvxvm_vrts.a(splitsio.o) 1363926408 3536 /usr/conf/lib/libvxvm_vrts.a(srvmcore.o) 357976630 4176 /usr/conf/lib/libvxvm_vrts.a(stable.o) 2805784944 14624 /usr/conf/lib/libvxvm_vrts.a(subdisk.o) 3603150767 16112 /usr/conf/lib/libvxvm_vrts.a(subr.o) 1385476962 10952 /usr/conf/lib/libvxvm_vrts.a(subvolume.o) 2904366956 29416 /usr/conf/lib/libvxvm_vrts.a(task.o) 35857307 35952 /usr/conf/lib/libvxvm_vrts.a(trace.o) 2237390388 26128 /usr/conf/lib/libvxvm_vrts.a(voldev.o) 2027470190 5816 /usr/conf/lib/libvxvm_vrts.a(voldio.o) 231562260 22552 /usr/conf/lib/libvxvm_vrts.a(voldioctl.o) 1557585025 6504 /usr/conf/lib/ libvxvm_vrts.a(voldioctl_sys.o) 4005338905 19536 /usr/conf/lib/ libvxvm_vrts.a(voldmp_ioctl.o) 639150233 7048 /usr/conf/lib/libvxvm_vrts.a(voldmp_pfsio.o) 1498748378 6576 /usr/conf/lib/libvxvm_vrts.a(voldmp_qssio.o) 706966807 97208 /usr/conf/lib/libvxvm_vrts.a(volhp.o) 1018093894 9296 /usr/conf/lib/libvxvm_vrts.a(volhp_rel.o) 3850427972 5024 /usr/conf/lib/libvxvm_vrts.a(volinit.o) 846069027 18800 /usr/conf/lib/libvxvm_vrts.a(voliomem.o) 2156870039 62280 /usr/conf/lib/libvxvm_vrts.a(volklog.o) 3825457863 5952 /usr/conf/lib/libvxvm_vrts.a(vollif.o) 643739372 208248 /usr/conf/lib/libvxvm_vrts.a(volpack_cvm.o) 3524486825 12888 /usr/conf/lib/ libvxvm_vrts.a(volpack_vvr_nw.o) 3438221435 4976 /usr/conf/lib/libvxvm_vrts.a(volquiesce.o) 779581113 12792 /usr/conf/lib/libvxvm_vrts.a(volspec.o) 2725506351 5464 /usr/conf/lib/libvxvm_vrts.a(volspec_stub.o) 646987218 1848 /usr/conf/lib/libvxvm_vrts.a(volted.o) 173895778 2304 /usr/conf/lib/libvxvm_vrts.a(volted_sys.o) 3083716224 2776 /usr/conf/lib/libvxvm_vrts.a(volxor.o) 177504507 315224 /usr/conf/lib/libvxdmp_vrts.a(vxdmp.o) 301836785 550080 /usr/conf/lib/libvxvm_vrts.a(vxvm.o) 2956511421 4408 /usr/conf/lib/libvxvm_vrts.a(what_vers.o) Patch Conflicts: None Patch Dependencies: s700: 11.11: PHCO_29980 s800: 11.11: PHCO_29980 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_27971 PHKL_28459 PHKL_28794 PHKL_29611 Equivalent Patches: None Patch Package Size: 3800 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_29981 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_29981.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_29981. 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 PHKL_29981.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_29981.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_29981.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None