5.0MP1RP3a3 VRTSvxfs
Obsolete
The latest patch(es) : 5.0MP1RP4a VRTSvxfs 

 Basic information
Release type: Rolling Patch
Release date: 2008-01-16
OS update support: None
Technote: None
Documentation: None
Popularity: 937 viewed    downloaded
Download size: 33.73 MB
Checksum: 1812349101

 Applies to one or more of the following products:
File System 5.0 MP1 On Solaris 10 SPARC
File System 5.0 MP1 On Solaris 8 SPARC
File System 5.0 MP1 On Solaris 9 SPARC
Storage Foundation 5.0 MP1 On Solaris 10 SPARC
Storage Foundation 5.0 MP1 On Solaris 8 SPARC
Storage Foundation 5.0 MP1 On Solaris 9 SPARC
Storage Foundation Cluster File System 5.0 MP1 On Solaris 10 SPARC
Storage Foundation Cluster File System 5.0 MP1 On Solaris 8 SPARC
Storage Foundation Cluster File System 5.0 MP1 On Solaris 9 SPARC
Storage Foundation for DB2 5.0 MP1 On Solaris 10 SPARC
Storage Foundation for DB2 5.0 MP1 On Solaris 8 SPARC
Storage Foundation for DB2 5.0 MP1 On Solaris 9 SPARC
Storage Foundation for Oracle 5.0 MP1 On Solaris 10 SPARC
Storage Foundation for Oracle 5.0 MP1 On Solaris 8 SPARC
Storage Foundation for Oracle 5.0 MP1 On Solaris 9 SPARC
Storage Foundation for Oracle RAC 5.0 MP1 On Solaris 10 SPARC
Storage Foundation for Oracle RAC 5.0 MP1 On Solaris 8 SPARC
Storage Foundation for Oracle RAC 5.0 MP1 On Solaris 9 SPARC
Storage Foundation for Sybase 5.0 MP1 On Solaris 10 SPARC
Storage Foundation for Sybase 5.0 MP1 On Solaris 8 SPARC
Storage Foundation for Sybase 5.0 MP1 On Solaris 9 SPARC
Storage Foundation HA 5.0 MP1 On Solaris 10 SPARC
Storage Foundation HA 5.0 MP1 On Solaris 8 SPARC
Storage Foundation HA 5.0 MP1 On Solaris 9 SPARC

 Obsolete patches, incompatibilities, superseded patches, or other requirements:

This patch is obsolete. It is superseded by: Release date
5.0MP1RP4a VRTSvxfs 2008-07-10

This patch supersedes the following patches: Release date
5.0MP1RP2a6 VRTSvxfs (obsolete) 2007-08-30
5.0MP1RP1c VRTSvxfs (obsolete) 2007-05-03

This patch requires: Release date
5.0 MP1b 2007-03-17

 Fixes the following incidents:
1099216, 1102026, 1104995, 1114175, 1116094, 1122869, 1139616, 1157945

 Patch ID:
125762-04, 125760-04, 125761-04

Readme file
Patch-ID# 125760-04
Keywords: VxFS 5.0MP1 VERITAS File System Rolling Patch 03
Synopsis: VRTSvxfs 5.0MP1RP3: Rolling Patch for File System 5.0MP1
Date: Jan/16/2008

Solaris Release: 8

SunOS Release: 5.8

Unbundled Product: VERITAS VxFS

Unbundled Release: 5.0MP1

Topic: VxFS 5.0MP1 RP3 Multiple Fixes Patch

Relevant Architectures: sparc

BugId's fixed with this patch: 6305689 6547100

Changes incorporated in this version: 6547100

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 123200-02

Obsoleted by: 

Files included with this patch:

$ROOT_2.8/etc/fs/vxfs/mount
$ROOT_2.8/etc/fs/vxfs/qioadmin
$ROOT_2.8/etc/init.d/vxfsldlic
$ROOT_2.8/etc/rc2.d/S01vxfsldlic
$ROOT_2.8/etc/vx/cdslimitstab
$ROOT_2.8/kernel/drv/sparcv9/vxportal
$ROOT_2.8/kernel/drv/vxportal
$ROOT_2.8/kernel/drv/vxportal.conf
$ROOT_2.8/kernel/fs/sparcv9/vxfs
$ROOT_2.8/kernel/fs/vxfs
$ROOT_2.8/opt/VRTSvxfs/include/dmapi.h
$ROOT_2.8/opt/VRTSvxfs/include/sys/fs/dmapi.h
$ROOT_2.8/opt/VRTSvxfs/include/sys/fs/dmapi_size.h
$ROOT_2.8/opt/VRTSvxfs/include/sys/fs/dmattr_drv.h
$ROOT_2.8/opt/VRTSvxfs/include/sys/fs/vxio.h
$ROOT_2.8/opt/VRTSvxfs/lib/libxdsm.a
$ROOT_2.8/opt/VRTSvxfs/lib/sparcv9/vxckptpriv.so
$ROOT_2.8/opt/VRTSvxfs/lib/sparcv9/vxfspriv.so
$ROOT_2.8/opt/VRTSvxfs/lib/sparcv9/vxfsutil.so
$ROOT_2.8/opt/VRTSvxfs/lib/vxckptpriv.so
$ROOT_2.8/opt/VRTSvxfs/lib/vxfspriv.so
$ROOT_2.8/opt/VRTSvxfs/lib/vxfsutil.so
$ROOT_2.8/opt/VRTSvxfs/sbin/cp
$ROOT_2.8/opt/VRTSvxfs/sbin/cpio
$ROOT_2.8/opt/VRTSvxfs/sbin/fcladm
$ROOT_2.8/opt/VRTSvxfs/sbin/fiostat
$ROOT_2.8/opt/VRTSvxfs/sbin/fsadm
$ROOT_2.8/opt/VRTSvxfs/sbin/fsapadm
$ROOT_2.8/opt/VRTSvxfs/sbin/fscat
$ROOT_2.8/opt/VRTSvxfs/sbin/fscdsadm
$ROOT_2.8/opt/VRTSvxfs/sbin/fscdsconv
$ROOT_2.8/opt/VRTSvxfs/sbin/fscdstask
$ROOT_2.8/opt/VRTSvxfs/sbin/fsckpt_restore
$ROOT_2.8/opt/VRTSvxfs/sbin/fsckptadm
$ROOT_2.8/opt/VRTSvxfs/sbin/fsclustadm
$ROOT_2.8/opt/VRTSvxfs/sbin/fsenvadm
$ROOT_2.8/opt/VRTSvxfs/sbin/fsmap
$ROOT_2.8/opt/VRTSvxfs/sbin/fsvoladm
$ROOT_2.8/opt/VRTSvxfs/sbin/getext
$ROOT_2.8/opt/VRTSvxfs/sbin/ls
$ROOT_2.8/opt/VRTSvxfs/sbin/mv
$ROOT_2.8/opt/VRTSvxfs/sbin/qiomkfile
$ROOT_2.8/opt/VRTSvxfs/sbin/qiostat
$ROOT_2.8/opt/VRTSvxfs/sbin/setext
$ROOT_2.8/opt/VRTSvxfs/sbin/vxdump
$ROOT_2.8/opt/VRTSvxfs/sbin/vxedquota
$ROOT_2.8/opt/VRTSvxfs/sbin/vxenablef
$ROOT_2.8/opt/VRTSvxfs/sbin/vxfsckd
$ROOT_2.8/opt/VRTSvxfs/sbin/vxfsconvert
$ROOT_2.8/opt/VRTSvxfs/sbin/vxfsstat
$ROOT_2.8/opt/VRTSvxfs/sbin/vxgetmsg
$ROOT_2.8/opt/VRTSvxfs/sbin/vxlsino
$ROOT_2.8/opt/VRTSvxfs/sbin/vxquot
$ROOT_2.8/opt/VRTSvxfs/sbin/vxquota
$ROOT_2.8/opt/VRTSvxfs/sbin/vxquotaoff
$ROOT_2.8/opt/VRTSvxfs/sbin/vxquotaon
$ROOT_2.8/opt/VRTSvxfs/sbin/vxrepquota
$ROOT_2.8/opt/VRTSvxfs/sbin/vxrestore
$ROOT_2.8/opt/VRTSvxfs/sbin/vxupgrade
$ROOT_2.8/opt/VRTSvxms/lib/map/libvxfs.so
$ROOT_2.8/opt/VRTSvxms/lib/map/libvxfssnap.so
$ROOT_2.8/opt/VRTSvxms/lib/map/sparcv9/libvxfs.so
$ROOT_2.8/opt/VRTSvxms/lib/map/sparcv9/libvxfssnap.so
$ROOT_2.8/usr/kernel/drv/fdd
$ROOT_2.8/usr/kernel/drv/fdd.conf
$ROOT_2.8/usr/kernel/drv/sparcv9/fdd
$ROOT_2.8/usr/lib/fs/vxfs/df
$ROOT_2.8/usr/lib/fs/vxfs/ff
$ROOT_2.8/usr/lib/fs/vxfs/fsck
$ROOT_2.8/usr/lib/fs/vxfs/fsckall
$ROOT_2.8/usr/lib/fs/vxfs/fsdb
$ROOT_2.8/usr/lib/fs/vxfs/fstyp
$ROOT_2.8/usr/lib/fs/vxfs/fsvmap
$ROOT_2.8/usr/lib/fs/vxfs/mkfs
$ROOT_2.8/usr/lib/fs/vxfs/ncheck
$ROOT_2.8/usr/lib/fs/vxfs/sparcv7/fsck
$ROOT_2.8/usr/lib/fs/vxfs/sparcv7/fsck_logv10
$ROOT_2.8/usr/lib/fs/vxfs/sparcv7/fsck_logv11
$ROOT_2.8/usr/lib/fs/vxfs/sparcv7/fsck_logv9
$ROOT_2.8/usr/lib/fs/vxfs/sparcv9/fsck
$ROOT_2.8/usr/lib/fs/vxfs/sparcv9/fsck_logv10
$ROOT_2.8/usr/lib/fs/vxfs/sparcv9/fsck_logv11
$ROOT_2.8/usr/lib/fs/vxfs/umount
$ROOT_2.8/usr/lib/fs/vxfs/vxtunefs

Problem Description:
--------------------

(1139616) If a file is currently mapped with at least one shared writable
          mapping, performing pglock revoke from EX to SHR needs only B_INVAL.
          Also i_swmap is set in vx_map() if MAP_SHARED and PROT_WRITE are set.
          Delete i_swmapcnt. Functions that needed the counting in i_swmapcnt
          now do this in i_swmap.

(from 125760-03)
(1099216) vx_write_alloc2_local() needs a retry limit as it can infinitely
          loop due to a fragmented fs.
(1102026) Fixed an issue in which if run_replay() returned before calling
          process_frees(), then replay_done() sometimes tried to free memory
          that had not been allocated. This corresponded to the dv_estatlist
          field of the vx_device structure, which was allocated in
          process_frees() and freed in replay_done().
6547100 (1104995) vnevent_remove() should be called before file deletion
(1114175) Backed out a code change that would cause a file system hang when
          trying to grow a database via odm.
(1116094) type mismatch in vx_do_getpage() arg "plsz" u_int should be
          vx_off_t.
(1122869) layout6 to layout7 upgrade leaves some fields uninitialised,
          fsck failes as a result.
(1139616) If a file is currently mapped with at least one shared writable
          mapping, performing pglock revoke from EX to SHR needs only B_INVAL.
          Also i_swmap is set in vx_map() if MAP_SHARED and PROT_WRITE are set.
(1157945) Fix a issue in which vxfs used too much CPU looking for odd sized
          extents.

(from 125760-02)

(1003062) Introduced VX_CFS_IRWLOCKEOF and VX_CFS_SIZEVALID flags.
          Updated vx_get_inodedata() to skip taking IGLOCK update
          for regular file of nomtime mount when VX_CFS_SIZEVALID
          flag is set.
(1018519) Corrected call to vol_dereserve() with device name as
	  argument.
(1029534) Reverted VX_GET_NINODE back to 57 by switching it with
          VX_GET_VMMBUFCOUNT.
(1032402) Remove VX_DELAY for performance gains.
(1040623) Introduced reclaim inactive attribute inodes during
	  vxupgrade of disk layout version 5 to 6.
(1060317) Updated vx_read1() to invalidate whole file that is
	  accessed via fdd, before and after doing I/O request.
(1061342) Update vx_logbuf_clean(). Move VX_DELAY(1) to later
	  position after releasing fs_logclean_slk lock.
(1069070) Introduce a new field (valid) in dotdot_list to capture
	  if there is any valid parent (exist in both parent's db
	  and it's attr area.) With this fix, fsck will able to
	  detect any invalid attr entry.
(1069187) ACLs inherited from default ACLs allow greater
	  permission than requested in some cases
6305689 (1090572, 1111711) fsync() times increase as file size grows
	  on VxFS even with few dirty pages VMODSORT.
(1090575) Make sure the correct fs passed to vx_device_lookup if the
	  I/O failed to the snapped file system.
(1090578) Need a better method of detecting it the current
	  thread is a nfsd thread.
(1093626) Back out changes made to vx_extfree() by incident 544066
          as they cause a hang with very large extents.
(1096460) Check wehether the thread already locked ownership before
	  trying to get ownership.
(1096468) Check for validity of fs pointer before accessing fields
	  in fs structure. This is needed because fs structure may
	  not exist at this point, because of a clean unmount.
(1113356) Fixed an issue that if run_replay() returned before the
	  calling process_frees(), then replay_done() might have
	  tried to free memory that had not been allocated.

(from 125760-01)
(1003062) Introduced VX_CFS_IRWLOCKEOF and VX_CFS_SIZEVALID flags.
          Updated vx_get_inodedata() to skip taking IGLOCK update
          for regular file of nomtime mount when VX_CFS_SIZEVALID
          flag is set.
(1003259) Revised fix of 595487 and initialized tracks and fetapes
          variables to 0.
(1005252) performance enhancements for replay: add tail pointers for
          the lists we build in add_lwrdones() and add_truncs() so
          they're O(N) instead of O(N^2). process the freed-extent
          info between the two passes of replay to convert it from
          unsorted lists to a sorted array that we can binary-search
          it in check_frees(). this processing pass is also fundamentally
          O(N^2) just like the previous check_frees(), but it's more or
          less linear time in practice, so the O(N log N) of the binary
          search will dominate.
(1005783) Removed triggering of inactive processing on ENOSPC from vx_rdwr().

Patch Installation Instructions:
--------------------------------

VRTSvxfs 5.0MP1 patch must be installed first before applying this patch.

For the Solaris 8 release, refer to the online manual pages for
instructions on using 'patchadd' and 'patchrm' scripts provided with
Solaris.  Any other special or non-generic installation instructions
should be described below as special instructions.  The following
example installs a patch to a standalone machine:

       example# patchadd /var/spool/patch/110434-07

The following example removes a patch from a standalone system:

       example# patchrm 104945-02

For additional examples please see the appropriate manual pages.


Special Install Instructions:
-----------------------------

You need to use the shutdown command to reboot the system after patch
installation or de-installation:

     shutdown -g0 -y -i6
Patch-ID# 125761-04
Keywords: VxFS 5.0MP1 VERITAS File System Rolling Patch 03
Synopsis: VRTSvxfs 5.0MP1RP3: Rolling Patch for File System 5.0MP1
Date: Jan/16/2008

Solaris Release: 9

SunOS Release: 5.9

Unbundled Product: VERITAS VxFS

Unbundled Release: 5.0MP1

Topic: VxFS 5.0MP1 RP3 Multiple Fixes Patch

Relevant Architectures: sparc

BugId's fixed with this patch: 6305689 6547100

Changes incorporated in this version: 6547100

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 123201-02

Obsoleted by: 

Files included with this patch:

$ROOT_2.9/etc/fs/vxfs/mount
$ROOT_2.9/etc/fs/vxfs/qioadmin
$ROOT_2.9/etc/init.d/vxfsldlic
$ROOT_2.9/etc/rc2.d/S01vxfsldlic
$ROOT_2.9/etc/vx/cdslimitstab
$ROOT_2.9/kernel/drv/sparcv9/vxportal
$ROOT_2.9/kernel/drv/vxportal
$ROOT_2.9/kernel/drv/vxportal.conf
$ROOT_2.9/kernel/fs/sparcv9/vxfs
$ROOT_2.9/kernel/fs/vxfs
$ROOT_2.9/opt/VRTSvxfs/include/dmapi.h
$ROOT_2.9/opt/VRTSvxfs/include/sys/fs/dmapi.h
$ROOT_2.9/opt/VRTSvxfs/include/sys/fs/dmapi_size.h
$ROOT_2.9/opt/VRTSvxfs/include/sys/fs/dmattr_drv.h
$ROOT_2.9/opt/VRTSvxfs/include/sys/fs/vxio.h
$ROOT_2.9/opt/VRTSvxfs/lib/libxdsm.a
$ROOT_2.9/opt/VRTSvxfs/lib/sparcv9/vxckptpriv.so
$ROOT_2.9/opt/VRTSvxfs/lib/sparcv9/vxfspriv.so
$ROOT_2.9/opt/VRTSvxfs/lib/sparcv9/vxfsutil.so
$ROOT_2.9/opt/VRTSvxfs/lib/vxckptpriv.so
$ROOT_2.9/opt/VRTSvxfs/lib/vxfspriv.so
$ROOT_2.9/opt/VRTSvxfs/lib/vxfsutil.so
$ROOT_2.9/opt/VRTSvxfs/sbin/cp
$ROOT_2.9/opt/VRTSvxfs/sbin/cpio
$ROOT_2.9/opt/VRTSvxfs/sbin/fcladm
$ROOT_2.9/opt/VRTSvxfs/sbin/fiostat
$ROOT_2.9/opt/VRTSvxfs/sbin/fsadm
$ROOT_2.9/opt/VRTSvxfs/sbin/fsapadm
$ROOT_2.9/opt/VRTSvxfs/sbin/fscat
$ROOT_2.9/opt/VRTSvxfs/sbin/fscdsadm
$ROOT_2.9/opt/VRTSvxfs/sbin/fscdsconv
$ROOT_2.9/opt/VRTSvxfs/sbin/fscdstask
$ROOT_2.9/opt/VRTSvxfs/sbin/fsckpt_restore
$ROOT_2.9/opt/VRTSvxfs/sbin/fsckptadm
$ROOT_2.9/opt/VRTSvxfs/sbin/fsclustadm
$ROOT_2.9/opt/VRTSvxfs/sbin/fsenvadm
$ROOT_2.9/opt/VRTSvxfs/sbin/fsmap
$ROOT_2.9/opt/VRTSvxfs/sbin/fsvoladm
$ROOT_2.9/opt/VRTSvxfs/sbin/getext
$ROOT_2.9/opt/VRTSvxfs/sbin/ls
$ROOT_2.9/opt/VRTSvxfs/sbin/mv
$ROOT_2.9/opt/VRTSvxfs/sbin/qiomkfile
$ROOT_2.9/opt/VRTSvxfs/sbin/qiostat
$ROOT_2.9/opt/VRTSvxfs/sbin/setext
$ROOT_2.9/opt/VRTSvxfs/sbin/vxdump
$ROOT_2.9/opt/VRTSvxfs/sbin/vxedquota
$ROOT_2.9/opt/VRTSvxfs/sbin/vxenablef
$ROOT_2.9/opt/VRTSvxfs/sbin/vxfsckd
$ROOT_2.9/opt/VRTSvxfs/sbin/vxfsconvert
$ROOT_2.9/opt/VRTSvxfs/sbin/vxfsstat
$ROOT_2.9/opt/VRTSvxfs/sbin/vxgetmsg
$ROOT_2.9/opt/VRTSvxfs/sbin/vxlsino
$ROOT_2.9/opt/VRTSvxfs/sbin/vxquot
$ROOT_2.9/opt/VRTSvxfs/sbin/vxquota
$ROOT_2.9/opt/VRTSvxfs/sbin/vxquotaoff
$ROOT_2.9/opt/VRTSvxfs/sbin/vxquotaon
$ROOT_2.9/opt/VRTSvxfs/sbin/vxrepquota
$ROOT_2.9/opt/VRTSvxfs/sbin/vxrestore
$ROOT_2.9/opt/VRTSvxfs/sbin/vxupgrade
$ROOT_2.9/opt/VRTSvxms/lib/map/libvxfs.so
$ROOT_2.9/opt/VRTSvxms/lib/map/libvxfssnap.so
$ROOT_2.9/opt/VRTSvxms/lib/map/sparcv9/libvxfs.so
$ROOT_2.9/opt/VRTSvxms/lib/map/sparcv9/libvxfssnap.so
$ROOT_2.9/usr/kernel/drv/fdd
$ROOT_2.9/usr/kernel/drv/fdd.conf
$ROOT_2.9/usr/kernel/drv/sparcv9/fdd
$ROOT_2.9/usr/lib/fs/vxfs/df
$ROOT_2.9/usr/lib/fs/vxfs/ff
$ROOT_2.9/usr/lib/fs/vxfs/fsck
$ROOT_2.9/usr/lib/fs/vxfs/fsckall
$ROOT_2.9/usr/lib/fs/vxfs/fsdb
$ROOT_2.9/usr/lib/fs/vxfs/fstyp
$ROOT_2.9/usr/lib/fs/vxfs/fsvmap
$ROOT_2.9/usr/lib/fs/vxfs/mkfs
$ROOT_2.9/usr/lib/fs/vxfs/ncheck
$ROOT_2.9/usr/lib/fs/vxfs/sparcv7/fsck
$ROOT_2.9/usr/lib/fs/vxfs/sparcv7/fsck_logv10
$ROOT_2.9/usr/lib/fs/vxfs/sparcv7/fsck_logv11
$ROOT_2.9/usr/lib/fs/vxfs/sparcv7/fsck_logv9
$ROOT_2.9/usr/lib/fs/vxfs/sparcv9/fsck
$ROOT_2.9/usr/lib/fs/vxfs/sparcv9/fsck_logv10
$ROOT_2.9/usr/lib/fs/vxfs/sparcv9/fsck_logv11
$ROOT_2.9/usr/lib/fs/vxfs/umount
$ROOT_2.9/usr/lib/fs/vxfs/vxtunefs

Problem Description:
--------------------

(1139616) If a file is currently mapped with at least one shared writable
          mapping, performing pglock revoke from EX to SHR needs only B_INVAL.
          Also i_swmap is set in vx_map() if MAP_SHARED and PROT_WRITE are set.
          Delete i_swmapcnt. Functions that needed the counting in i_swmapcnt
          now do this in i_swmap.

(from 125761-03)
(1099216) vx_write_alloc2_local() needs a retry limit as it can infinitely
          loop due to a fragmented fs.
(1102026) Fixed an issue in which if run_replay() returned before calling
          process_frees(), then replay_done() sometimes tried to free memory
          that had not been allocated. This corresponded to the dv_estatlist
          field of the vx_device structure, which was allocated in
          process_frees() and freed in replay_done().
6547100 (1104995) vnevent_remove() should be called before file deletion
(1114175) Backed out a code change that would cause a file system hang when
          trying to grow a database via odm.
(1116094) type mismatch in vx_do_getpage() arg "plsz" u_int should be
          vx_off_t.
(1122869) layout6 to layout7 upgrade leaves some fields uninitialised,
          fsck failes as a result.
(1139616) If a file is currently mapped with at least one shared writable
          mapping, performing pglock revoke from EX to SHR needs only B_INVAL.
          Also i_swmap is set in vx_map() if MAP_SHARED and PROT_WRITE are set.
(1157945) Fix a issue in which vxfs used too much CPU looking for odd sized
          extents.


(from 125761-02)
(1003062) Introduced VX_CFS_IRWLOCKEOF and VX_CFS_SIZEVALID flags.
          Updated vx_get_inodedata() to skip taking IGLOCK update
          for regular file of nomtime mount when VX_CFS_SIZEVALID
          flag is set.
(1018519) Corrected call to vol_dereserve() with device name as
	  argument.
(1029534) Reverted VX_GET_NINODE back to 57 by switching it with
          VX_GET_VMMBUFCOUNT.
(1032402) Remove VX_DELAY for performance gains.
(1040623) Introduced reclaim inactive attribute inodes during
	  vxupgrade of disk layout version 5 to 6.
(1060317) Updated vx_read1() to invalidate whole file that is
	  accessed via fdd, before and after doing I/O request.
(1061342) Update vx_logbuf_clean(). Move VX_DELAY(1) to later
	  position after releasing fs_logclean_slk lock.
(1069070) Introduce a new field (valid) in dotdot_list to capture
	  if there is any valid parent (exist in both parent's db
	  and it's attr area.) With this fix, fsck will able to
	  detect any invalid attr entry.
(1069187) ACLs inherited from default ACLs allow greater
	  permission than requested in some cases
6305689 (1090572, 1111711) fsync() times increase as file size grows
	  on VxFS even with few dirty pages VMODSORT.
(1090575) Make sure the correct fs passed to vx_device_lookup if the
	  I/O failed to the snapped file system.
(1090578) Need a better method of detecting it the current
	  thread is a nfsd thread.
(1093626) Back out changes made to vx_extfree() by incident 544066
          as they cause a hang with very large extents.
(1096460) Check wehether the thread already locked ownership before
	  trying to get ownership.
(1096468) Check for validity of fs pointer before accessing fields
	  in fs structure. This is needed because fs structure may
	  not exist at this point, because of a clean unmount.
(1113356) Fixed an issue that if run_replay() returned before the
	  calling process_frees(), then replay_done() might have
	  tried to free memory that had not been allocated.

(from 125761-01)
(1003062) Introduced VX_CFS_IRWLOCKEOF and VX_CFS_SIZEVALID flags.
          Updated vx_get_inodedata() to skip taking IGLOCK update
          for regular file of nomtime mount when VX_CFS_SIZEVALID
          flag is set.
(1003259) Revised fix of 595487 and initialized tracks and fetapes
          variables to 0.
(1005252) performance enhancements for replay: add tail pointers for
          the lists we build in add_lwrdones() and add_truncs() so
          they're O(N) instead of O(N^2). process the freed-extent
          info between the two passes of replay to convert it from
          unsorted lists to a sorted array that we can binary-search
          it in check_frees(). this processing pass is also fundamentally
          O(N^2) just like the previous check_frees(), but it's more or
          less linear time in practice, so the O(N log N) of the binary
          search will dominate.
(1005783) Removed triggering of inactive processing on ENOSPC from vx_rdwr().

Patch Installation Instructions:
--------------------------------

VRTSvxfs 5.0MP1 patch must be installed first before applying this patch.

For the Solaris 9 release, refer to the online manual pages for
instructions on using 'patchadd' and 'patchrm' scripts provided with
Solaris.  Any other special or non-generic installation instructions
should be described below as special instructions.  The following
example installs a patch to a standalone machine:

       example# patchadd /var/spool/patch/110434-07

The following example removes a patch from a standalone system:

       example# patchrm 104945-02

For additional examples please see the appropriate manual pages.


Special Install Instructions:
-----------------------------
Sun introduced a page ordering vnode optimization in Solaris 9 and 10.
The optimization includes a new vnode flag, VMODSORT, which when turned on
indicates that the Virtual Memory (VM) should maintain the v_pages list
in an order depending on if a page is modified or unmodified.

Veritas File System (VxFS) can now take advantage of that flag,
which can result in significant performance improvements on operations
that depend on flushing, such as fsync.

This optimization requires the fixes for Sun BugID's 6393251 and 6538758
which are included in the Solaris kernel patch listed below.
Enabling VxFS VMODSORT functionality without the correct OS kernel patches
can result in data corruption.

Required operating system patches:

  (Solaris 9 SPARC)
     122300-11  (or greater)
        dependent patches:
        112233-12
        117171-17
        118558-39


To enable VxFS VMODSORT functionality, the following linemust be added
to the /etc/system file after the vxfs forceload:

	set vxfs:vx_vmodsort=1  * enable vxfs vmodsort

To disable VxFS VMODSORT functionality, the following line must be added
to the /etc/system file after the vxfs forceload:

	set vxfs:vx_vmodsort=0  * disable vxfs vmodsort


You need to use the shutdown command to reboot the system after patch
installation or de-installation:

     shutdown -g0 -y -i6
Patch-ID# 125762-04
Keywords: VxFS 5.0MP1 VERITAS File System Rolling Patch 03
Synopsis: VRTSvxfs 5.0MP1RP3: Rolling Patch for File System 5.0MP1
Date: Jan/16/2008

Solaris Release: 10

SunOS Release: 5.10

Unbundled Product: VERITAS VxFS

Unbundled Release: 5.0MP1

Topic: VxFS 5.0MP1 RP3 Multiple Fixes Patch

Relevant Architectures: sparc

BugId's fixed with this patch: 6305689 6547100

Changes incorporated in this version: 6547100

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 123202-02

Obsoleted by: 

Files included with this patch:

$ROOT_2.10/etc/fs/vxfs/mount
$ROOT_2.10/etc/fs/vxfs/qioadmin
$ROOT_2.10/etc/vx/cdslimitstab
$ROOT_2.10/kernel/drv/sparcv9/vxportal
$ROOT_2.10/kernel/drv/vxportal.conf
$ROOT_2.10/kernel/fs/sparcv9/vxfs
$ROOT_2.10/lib/svc/method/vxfsldlic
$ROOT_2.10/opt/VRTSvxfs/include/dmapi.h
$ROOT_2.10/opt/VRTSvxfs/include/sys/fs/dmapi.h
$ROOT_2.10/opt/VRTSvxfs/include/sys/fs/dmapi_size.h
$ROOT_2.10/opt/VRTSvxfs/include/sys/fs/dmattr_drv.h
$ROOT_2.10/opt/VRTSvxfs/include/sys/fs/vxio.h
$ROOT_2.10/opt/VRTSvxfs/lib/libxdsm.a
$ROOT_2.10/opt/VRTSvxfs/lib/sparcv9/vxckptpriv.so
$ROOT_2.10/opt/VRTSvxfs/lib/sparcv9/vxfspriv.so
$ROOT_2.10/opt/VRTSvxfs/lib/sparcv9/vxfsutil.so
$ROOT_2.10/opt/VRTSvxfs/lib/vxckptpriv.so
$ROOT_2.10/opt/VRTSvxfs/lib/vxfspriv.so
$ROOT_2.10/opt/VRTSvxfs/lib/vxfsutil.so
$ROOT_2.10/opt/VRTSvxfs/sbin/cp
$ROOT_2.10/opt/VRTSvxfs/sbin/cpio
$ROOT_2.10/opt/VRTSvxfs/sbin/fcladm
$ROOT_2.10/opt/VRTSvxfs/sbin/fiostat
$ROOT_2.10/opt/VRTSvxfs/sbin/fsadm
$ROOT_2.10/opt/VRTSvxfs/sbin/fsapadm
$ROOT_2.10/opt/VRTSvxfs/sbin/fscat
$ROOT_2.10/opt/VRTSvxfs/sbin/fscdsadm
$ROOT_2.10/opt/VRTSvxfs/sbin/fscdsconv
$ROOT_2.10/opt/VRTSvxfs/sbin/fscdstask
$ROOT_2.10/opt/VRTSvxfs/sbin/fsckpt_restore
$ROOT_2.10/opt/VRTSvxfs/sbin/fsckptadm
$ROOT_2.10/opt/VRTSvxfs/sbin/fsclustadm
$ROOT_2.10/opt/VRTSvxfs/sbin/fsenvadm
$ROOT_2.10/opt/VRTSvxfs/sbin/fsmap
$ROOT_2.10/opt/VRTSvxfs/sbin/fsvoladm
$ROOT_2.10/opt/VRTSvxfs/sbin/getext
$ROOT_2.10/opt/VRTSvxfs/sbin/ls
$ROOT_2.10/opt/VRTSvxfs/sbin/mv
$ROOT_2.10/opt/VRTSvxfs/sbin/qiomkfile
$ROOT_2.10/opt/VRTSvxfs/sbin/qiostat
$ROOT_2.10/opt/VRTSvxfs/sbin/setext
$ROOT_2.10/opt/VRTSvxfs/sbin/vxdump
$ROOT_2.10/opt/VRTSvxfs/sbin/vxedquota
$ROOT_2.10/opt/VRTSvxfs/sbin/vxenablef
$ROOT_2.10/opt/VRTSvxfs/sbin/vxfsckd
$ROOT_2.10/opt/VRTSvxfs/sbin/vxfsconvert
$ROOT_2.10/opt/VRTSvxfs/sbin/vxfsstat
$ROOT_2.10/opt/VRTSvxfs/sbin/vxgetmsg
$ROOT_2.10/opt/VRTSvxfs/sbin/vxlsino
$ROOT_2.10/opt/VRTSvxfs/sbin/vxquot
$ROOT_2.10/opt/VRTSvxfs/sbin/vxquota
$ROOT_2.10/opt/VRTSvxfs/sbin/vxquotaoff
$ROOT_2.10/opt/VRTSvxfs/sbin/vxquotaon
$ROOT_2.10/opt/VRTSvxfs/sbin/vxrepquota
$ROOT_2.10/opt/VRTSvxfs/sbin/vxrestore
$ROOT_2.10/opt/VRTSvxfs/sbin/vxupgrade
$ROOT_2.10/opt/VRTSvxms/lib/map/libvxfs.so
$ROOT_2.10/opt/VRTSvxms/lib/map/libvxfssnap.so
$ROOT_2.10/opt/VRTSvxms/lib/map/sparcv9/libvxfs.so
$ROOT_2.10/opt/VRTSvxms/lib/map/sparcv9/libvxfssnap.so
$ROOT_2.10/usr/kernel/drv/fdd.conf
$ROOT_2.10/usr/kernel/drv/sparcv9/fdd
$ROOT_2.10/usr/lib/fs/vxfs/df
$ROOT_2.10/usr/lib/fs/vxfs/ff
$ROOT_2.10/usr/lib/fs/vxfs/fsck
$ROOT_2.10/usr/lib/fs/vxfs/fsckall
$ROOT_2.10/usr/lib/fs/vxfs/fsdb
$ROOT_2.10/usr/lib/fs/vxfs/fstyp
$ROOT_2.10/usr/lib/fs/vxfs/fsvmap
$ROOT_2.10/usr/lib/fs/vxfs/mkfs
$ROOT_2.10/usr/lib/fs/vxfs/ncheck
$ROOT_2.10/usr/lib/fs/vxfs/sparcv7/fsck
$ROOT_2.10/usr/lib/fs/vxfs/sparcv7/fsck_logv10
$ROOT_2.10/usr/lib/fs/vxfs/sparcv7/fsck_logv11
$ROOT_2.10/usr/lib/fs/vxfs/sparcv7/fsck_logv9
$ROOT_2.10/usr/lib/fs/vxfs/sparcv9/fsck
$ROOT_2.10/usr/lib/fs/vxfs/sparcv9/fsck_logv10
$ROOT_2.10/usr/lib/fs/vxfs/sparcv9/fsck_logv11
$ROOT_2.10/usr/lib/fs/vxfs/umount
$ROOT_2.10/usr/lib/fs/vxfs/vxtunefs
$ROOT_2.10/var/svc/manifest/system/vxfs/vxfsldlic.xml

Problem Description:
--------------------

(1139616) If a file is currently mapped with at least one shared writable
          mapping, performing pglock revoke from EX to SHR needs only B_INVAL.
          Also i_swmap is set in vx_map() if MAP_SHARED and PROT_WRITE are set.
          Delete i_swmapcnt. Functions that needed the counting in i_swmapcnt
          now do this in i_swmap.

(from 125762-03)
(1099216) vx_write_alloc2_local() needs a retry limit as it can infinitely
          loop due to a fragmented fs.
(1102026) Fixed an issue in which if run_replay() returned before calling
          process_frees(), then replay_done() sometimes tried to free memory
          that had not been allocated. This corresponded to the dv_estatlist
          field of the vx_device structure, which was allocated in
          process_frees() and freed in replay_done().
6547100 (1104995) vnevent_remove() should be called before file deletion
(1114175) Backed out a code change that would cause a file system hang when
          trying to grow a database via odm.
(1116094) type mismatch in vx_do_getpage() arg "plsz" u_int should be
          vx_off_t.
(1122869) layout6 to layout7 upgrade leaves some fields uninitialised,
          fsck failes as a result.
(1139616) If a file is currently mapped with at least one shared writable
          mapping, performing pglock revoke from EX to SHR needs only B_INVAL.
          Also i_swmap is set in vx_map() if MAP_SHARED and PROT_WRITE are set.
(1157945) Fix a issue in which vxfs used too much CPU looking for odd sized
          extents.


(from 125762-02)
(1003062) Introduced VX_CFS_IRWLOCKEOF and VX_CFS_SIZEVALID flags.
          Updated vx_get_inodedata() to skip taking IGLOCK update
          for regular file of nomtime mount when VX_CFS_SIZEVALID
          flag is set.
(1018519) Corrected call to vol_dereserve() with device name as
	  argument.
(1029534) Reverted VX_GET_NINODE back to 57 by switching it with
          VX_GET_VMMBUFCOUNT.
(1032402) Remove VX_DELAY for performance gains.
(1040623) Introduced reclaim inactive attribute inodes during
	  vxupgrade of disk layout version 5 to 6.
(1060317) Updated vx_read1() to invalidate whole file that is
	  accessed via fdd, before and after doing I/O request.
(1061342) Update vx_logbuf_clean(). Move VX_DELAY(1) to later
	  position after releasing fs_logclean_slk lock.
(1069070) Introduce a new field (valid) in dotdot_list to capture
	  if there is any valid parent (exist in both parent's db
	  and it's attr area.) With this fix, fsck will able to
	  detect any invalid attr entry.
(1069187) ACLs inherited from default ACLs allow greater
	  permission than requested in some cases
6305689 (1090572, 1111711) fsync() times increase as file size grows
	  on VxFS even with few dirty pages VMODSORT.
(1090575) Make sure the correct fs passed to vx_device_lookup if the
	  I/O failed to the snapped file system.
(1090578) Need a better method of detecting it the current
	  thread is a nfsd thread.
(1093626) Back out changes made to vx_extfree() by incident 544066
          as they cause a hang with very large extents.
(1096460) Check wehether the thread already locked ownership before
	  trying to get ownership.
(1096468) Check for validity of fs pointer before accessing fields
	  in fs structure. This is needed because fs structure may
	  not exist at this point, because of a clean unmount.
(1113356) Fixed an issue that if run_replay() returned before the
	  calling process_frees(), then replay_done() might have
	  tried to free memory that had not been allocated.

(from 125762-01)
(1003062) Introduced VX_CFS_IRWLOCKEOF and VX_CFS_SIZEVALID flags.
          Updated vx_get_inodedata() to skip taking IGLOCK update
          for regular file of nomtime mount when VX_CFS_SIZEVALID
          flag is set.
(1003259) Revised fix of 595487 and initialized tracks and fetapes
          variables to 0.
(1005252) performance enhancements for replay: add tail pointers for
          the lists we build in add_lwrdones() and add_truncs() so
          they're O(N) instead of O(N^2). process the freed-extent
          info between the two passes of replay to convert it from
          unsorted lists to a sorted array that we can binary-search
          it in check_frees(). this processing pass is also fundamentally
          O(N^2) just like the previous check_frees(), but it's more or
          less linear time in practice, so the O(N log N) of the binary
          search will dominate.
(1005783) Removed triggering of inactive processing on ENOSPC from vx_rdwr().

Patch Installation Instructions:
--------------------------------

VRTSvxfs 5.0MP1 patch must be installed first before applying this patch.

For the Solaris 10 release, refer to the online manual pages for
instructions on using 'patchadd' and 'patchrm' scripts provided with
Solaris.  Any other special or non-generic installation instructions
should be described below as special instructions.  The following
example installs a patch to a standalone machine:

       example# patchadd /var/spool/patch/110434-07

The following example removes a patch from a standalone system:

       example# patchrm 104945-02

For additional examples please see the appropriate manual pages.


Special Install Instructions:
-----------------------------
Sun introduced a page ordering vnode optimization in Solaris 9 and 10.
The optimization includes a new vnode flag, VMODSORT, which when turned on
indicates that the Virtual Memory (VM) should maintain the v_pages list
in an order depending on if a page is modified or unmodified.
 
Veritas File System (VxFS) can now take advantage of that flag,
which can result in significant performance improvements on operations
that depend on flushing, such as fsync.
 
This optimization requires the fixes for Sun BugID's 6393251 and 6538758
which are included in the Solaris kernel patch listed below.
Enabling VxFS VMODSORT functionality without the correct OS kernel patches
can result in data corruption.
 
Required operating system patches:
 
  (Solaris 10 SPARC)
 127111-01 (or greater)
        dependent patches:
           120011-14 (or greater) 
 
 
To enable VxFS VMODSORT functionality, the following line must be added
to the /etc/system file after the vxfs forceload:
 
        set vxfs:vx_vmodsort=1  * enable vxfs vmodsort
 
To disable VxFS VMODSORT functionality, the following line must be added
to the /etc/system file after the vxfs forceload:
 
        set vxfs:vx_vmodsort=0  * disable vxfs vmodsort
 
 
You need to use the shutdown command to reboot the system after patch
installation or de-installation:
 
     shutdown -g0 -y -i6