4.1MP2RP3a VRTSvxfs
Obsolete
The latest patch(es) : fs-sol_sparc-4.1MP2RP5 

 Basic information
Release type: Rolling Patch
Release date: 2007-12-24
OS update support: None
Technote: None
Documentation: None
Popularity: 641 viewed    downloaded
Download size: 29.75 MB
Checksum: 1889226927

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

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

This patch is obsolete. It is superseded by: Release date
fs-sol_sparc-4.1MP2RP5 2009-10-01
fs-sol_sparc-4.1MP2RP4 (obsolete) 2008-10-07
4.1MP2RP3a2 VRTSvxfs (obsolete) 2008-01-16

This patch supersedes the following patches: Release date
4.1MP2RP2b3 VRTSvxfs (obsolete) 2007-09-20
4.1MP2RP1c VRTSvxfs (obsolete) 2007-03-30

This patch requires: Release date
4.1 MP2b 2007-02-26

 Fixes the following incidents:
1004011, 1018522, 1029536, 1032943, 1035742, 1043887, 1045044, 1049744, 1050993, 1065929, 1065982, 1069077, 1069160, 1099219, 1104763, 1114081, 1119225, 1125382, 1135175, 1136731, 1139604, 1139614, 995008, 995011, 995013, 995016, 995927

 Patch ID:
123828-05, 123829-05, 123827-05

Readme file
Patch-ID# 123827-05
Keywords: VxFS 4.1MP2 VERITAS File System Rolling Patch 03
Synopsis: VRTSvxfs 4.1MP2RP3: Rolling Patch 03 for File System 4.1MP2
Date: Dec/24/2007

Solaris Release: 8

SunOS Release: 5.8

Unbundled Product: VERITAS VxFS

Unbundled Release: 4.1MP2

Topic: VxFS 4.1MP2 RP3 Multiple Fixes Patch

Relevant Architectures: sparc

BugId's fixed with this patch: 6305689 6547100 6581120

Changes incorporated in this version: 6547100 6581120

Patches accumulated and obsoleted by this patch:

Patches which conflict with this patch:

Patches required with this patch: 119300-04

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/fs/vxfs/qlogattach
$ROOT_2.8/etc/fs/vxfs/qlogck
$ROOT_2.8/etc/fs/vxfs/qlogrec
$ROOT_2.8/etc/init.d/qlog-startup
$ROOT_2.8/etc/init.d/vxfsldlic
$ROOT_2.8/etc/rc2.d/S01vxfsldlic
$ROOT_2.8/etc/rcS.d/S88qlog-startup
$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/fdd.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/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/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/qlogadm
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogckd
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogclustadm
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogdb
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogdetach
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogdisable
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogenable
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogmk
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogprint
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogrm
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogstat
$ROOT_2.8/opt/VRTSvxfs/sbin/qlogtrace
$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/sparcv9/libvxfs.so
$ROOT_2.8/usr/kernel/drv/fdd
$ROOT_2.8/usr/kernel/drv/fdd.conf
$ROOT_2.8/usr/kernel/drv/qlog
$ROOT_2.8/usr/kernel/drv/qlog.conf
$ROOT_2.8/usr/kernel/drv/sparcv9/fdd
$ROOT_2.8/usr/kernel/drv/sparcv9/qlog
$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/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_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/umount
$ROOT_2.8/usr/lib/fs/vxfs/vxtunefs
$ROOT_2.8/usr/lib/fs/vxfs/mount

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

(1104763) Added a new function vx_iflush_threads() which will enqueue iflush
          worker threads only when any of the inodes in the cache list are
          dirty, otherwise it would just backout. And set the dirty flag during
          write, mmap operations. The flag  will be cleared during flushing of
          inodes.
(1114081) VX_IHxxx macros are now called only on CFS inodes.
6547100 (1136731) xauth hangs with nfsv4 over VxFS
6581120 (1136731) Request for FEM implementation change
(1139604) An overwrite record is now written in the FCL file during mmap only
          if the record is a writable mapping.
(1139614) If a file is currently mapped with at least one shred 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.

(from 123827-04)
(1135175) Need to bump up patch revision number for 2nd time
          drop to Sun for patch approval

(from 123827-03)
(1018522) Corrected call to vol_dereserve() with device name as
          argument.
(1029536) Reverted VX_GET_NINODE back to 57 by switching it with
          VX_GET_VMMBUFCOUNT.
(1032943) Do directory compaction only if it is fragmented,
          otherwise it results in the directory unnecessarily
          getting rewritten and this bloats up backups taken.
(1035742) Corrected vx_recv_cwfa_loadfs() to update fs_dsize
          as fs could has been resized.
(1043887) Update vx_logbuf_clean(). Move VX_DELAY(1)
          after releasing fs_logclean_slk lock.
(1045044) Fix end of tape condition.
(1049744) Make sure the correct fs passed to vx_device_lookup if the
          I/O fialed to the snapped file system.
6305689 (1050993, 1119225) fsync() times increase as file size grows
         on VxFS even with few dirty pages VMODSORT
(1065982) Take ilock before calling vx_msg_send in vx_rpc_setattr_tran
          so we don"t get incorrect mtime on cfs secondary.
(1069077) 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.
(1099219) Updated vx_write_alloc2_local() to limit retrying in order to
          avoid looping on a fragmented fs.
(995008) Introduce 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. Also adjust
          flags VX_CFS_CFLAGS_MASK.
(995927) Introduced reclaim inactive attribute inodes during vxupgrade of
          disk layout version 5 to 6.
(1125382) Call VX_IHxxx macros only for CFS inodes.
(1065929) Need a better method of detecting it the current
          thread is a nfsd thread.
(1069160) ACLs inherited from default ACLs allow greater permission
          than requested in some cases.

(from 123827-02)
(995927) Introduced reclaim inactive attribute inodes during vxupgrade
         of disk layout version 5 to version 6.
(1018522) Corrected call to vol_dereserve() with device name as argument.
(1032943) Updated fsadm command to do directory compaction only if
          it is fragmented.
(1035742) Corrected vx_recv_cwfa_loadfs() to update fs_dsize as file system
          could has been resized.
(1043887) Updated vx_logbuf_clean() by moving VX_DELAY(1) after releasing
          fs_logclean_slk lock.
(1049744) Updated vx_dio_physio() to pass the correct fs pointer
          to vx_device_lookup() for a snapshot file system.
(1050993) VxFS should take advanage of Solaris dirty page ordering.

(from 123827-01)
(995008) Enhancement to vx_getattr() taking IGLOCK in share mode
(995011) SxRT 4.1 B13 cfs.noise hits three asserts f:vx_ino_update:1
         f:vx_iread:2x and f:xted_ialloc_check:1
(995013) vx_fs_upgrade5(): Unconditionally do a freeze_flush*()
         sequence after vx_upg5_attr_add_attr_fs() to flush any changes
         to attribute ilist before it's read in vx_upg5_fill()
(995016) Poor read performance through FS if file is in use by ODM or QIO
(1004011) Optimization in log replay.

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

VRTSvxfs 4.1MP2 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# 123828-05
Keywords: VxFS 4.1MP2 VERITAS File System Rolling Patch 03
Synopsis: VRTSvxfs 4.1MP2RP3: Rolling Patch 03 for File System 4.1MP2
Date: Dec/24/2007

Solaris Release: 9

SunOS Release: 5.9

Unbundled Product: VERITAS VxFS

Unbundled Release: 4.1MP2

Topic: VxFS 4.1MP2 RP3 Multiple Fixes Patch

Relevant Architectures: sparc

BugId's fixed with this patch: 6305689 6547100 6581120

Changes incorporated in this version: 6547100 6581120

Patches accumulated and obsoleted by this patch:

Patches which conflict with this patch:

Patches required with this patch: 119301-04

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/fs/vxfs/qlogattach
$ROOT_2.9/etc/fs/vxfs/qlogck
$ROOT_2.9/etc/fs/vxfs/qlogrec
$ROOT_2.9/etc/init.d/qlog-startup
$ROOT_2.9/etc/init.d/vxfsldlic
$ROOT_2.9/etc/rc2.d/S01vxfsldlic
$ROOT_2.9/etc/rcS.d/S88qlog-startup
$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/fdd.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/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/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/qlogadm
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogckd
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogclustadm
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogdb
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogdetach
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogdisable
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogenable
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogmk
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogprint
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogrm
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogstat
$ROOT_2.9/opt/VRTSvxfs/sbin/qlogtrace
$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/sparcv9/libvxfs.so
$ROOT_2.9/usr/kernel/drv/fdd
$ROOT_2.9/usr/kernel/drv/fdd.conf
$ROOT_2.9/usr/kernel/drv/qlog
$ROOT_2.9/usr/kernel/drv/qlog.conf
$ROOT_2.9/usr/kernel/drv/sparcv9/fdd
$ROOT_2.9/usr/kernel/drv/sparcv9/qlog
$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/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_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/umount
$ROOT_2.9/usr/lib/fs/vxfs/vxtunefs
$ROOT_2.9/usr/lib/fs/vxfs/mount

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

(1104763) Added a new function vx_iflush_threads() which will enqueue iflush
          worker threads only when any of the inodes in the cache list are
          dirty, otherwise it would just backout. And set the dirty flag during
          write, mmap operations. The flag  will be cleared during flushing of
          inodes.
(1114081) VX_IHxxx macros are now called only on CFS inodes.
6547100 (1136731) xauth hangs with nfsv4 over VxFS
6581120 (1136731) Request for FEM implementation change
(1139604) An overwrite record is now written in the FCL file during mmap only
          if the record is a writable mapping.
(1139614) If a file is currently mapped with at least one shred 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.

(from 123828-04)
(1135175) Need to bump up patch revision number for 2nd time
          drop to Sun for patch approval

(from 123828-03)
(1018522) Corrected call to vol_dereserve() with device name as
          argument.
(1029536) Reverted VX_GET_NINODE back to 57 by switching it with
          VX_GET_VMMBUFCOUNT.
(1032943) Do directory compaction only if it is fragmented,
          otherwise it results in the directory unnecessarily
          getting rewritten and this bloats up backups taken.
(1035742) Corrected vx_recv_cwfa_loadfs() to update fs_dsize
          as fs could has been resized.
(1043887) Update vx_logbuf_clean(). Move VX_DELAY(1)
          after releasing fs_logclean_slk lock.
(1045044) Fix end of tape condition.
(1049744) Make sure the correct fs passed to vx_device_lookup if the
          I/O fialed to the snapped file system.
6305689 (1050993, 1119225) fsync() times increase as file size grows
         on VxFS even with few dirty pages VMODSORT
(1065982) Take ilock before calling vx_msg_send in vx_rpc_setattr_tran
          so we don"t get incorrect mtime on cfs secondary.
(1069077) 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.
(1099219) Updated vx_write_alloc2_local() to limit retrying in order to
          avoid looping on a fragmented fs.
(995008) Introduce 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. Also adjust
          flags VX_CFS_CFLAGS_MASK.
(995927) Introduced reclaim inactive attribute inodes during vxupgrade of
          disk layout version 5 to 6.
(1125382) Call VX_IHxxx macros only for CFS inodes.
(1065929) Need a better method of detecting it the current
          thread is a nfsd thread.
(1069160) ACLs inherited from default ACLs allow greater permission
          than requested in some cases.

(from 123828-02)
(995927) Introduced reclaim inactive attribute inodes during vxupgrade
         of disk layout version 5 to version 6.
(1018522) Corrected call to vol_dereserve() with device name as argument.
(1032943) Updated fsadm command to do directory compaction only if
          it is fragmented.
(1035742) Corrected vx_recv_cwfa_loadfs() to update fs_dsize as file system
          could has been resized.
(1043887) Updated vx_logbuf_clean() by moving VX_DELAY(1) after releasing
          fs_logclean_slk lock.
(1049744) Updated vx_dio_physio() to pass the correct fs pointer
          to vx_device_lookup() for a snapshot file system.
(1050993) VxFS should take advanage of Solaris dirty page ordering.

(from 123828-01)
(995008) Enhancement to vx_getattr() taking IGLOCK in share mode
(995011) SxRT 4.1 B13 cfs.noise hits three asserts f:vx_ino_update:1
         f:vx_iread:2x and f:xted_ialloc_check:1
(995013) vx_fs_upgrade5(): Unconditionally do a freeze_flush*()
         sequence after vx_upg5_attr_add_attr_fs() to flush any changes
         to attribute ilist before it's read in vx_upg5_fill()
(995016) Poor read performance through FS if file is in use by ODM or QIO
(1004011) Optimization in log replay.

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

VRTSvxfs 4.1MP2 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 operatingsystem patches:

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


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



Patch-ID# 123829-05
Keywords: VxFS 4.1MP2 VERITAS File System Rolling Patch 03
Synopsis: VRTSvxfs 4.1MP2RP3: Rolling Patch 03 for File System 4.1MP2
Date: Dec/24/2007

Solaris Release: 10

SunOS Release: 5.10

Unbundled Product: VERITAS VxFS

Unbundled Release: 4.1MP2

Topic: VxFS 4.1MP2 RP3 Multiple Fixes Patch

Relevant Architectures: sparc

BugId's fixed with this patch: 6305689 6547100 6581120

Changes incorporated in this version: 6547100 6581120

Patches accumulated and obsoleted by this patch:

Patches which conflict with this patch:

Patches required with this patch: 119302-04

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/fs/vxfs/qlogattach
$ROOT_2.10/etc/fs/vxfs/qlogck
$ROOT_2.10/etc/fs/vxfs/qlogrec
$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/qlog-startup
$ROOT_2.10/lib/svc/method/vxfsldlic
$ROOT_2.10/opt/VRTSvxfs/include/dmapi.h
$ROOT_2.10/opt/VRTSvxfs/include/fdd.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/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/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/qlogadm
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogckd
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogclustadm
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogdb
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogdetach
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogdisable
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogenable
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogmk
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogprint
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogrm
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogstat
$ROOT_2.10/opt/VRTSvxfs/sbin/qlogtrace
$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/sparcv9/libvxfs.so
$ROOT_2.10/usr/kernel/drv/fdd.conf
$ROOT_2.10/usr/kernel/drv/qlog.conf
$ROOT_2.10/usr/kernel/drv/sparcv9/fdd
$ROOT_2.10/usr/kernel/drv/sparcv9/qlog
$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/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_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/umount
$ROOT_2.10/usr/lib/fs/vxfs/vxtunefs
$ROOT_2.10/var/svc/manifest/system/vxfs/qlog-startup.xml
$ROOT_2.10/var/svc/manifest/system/vxfs/vxfsldlic.xml
$ROOT_2.10/usr/lib/fs/vxfs/mount

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

(1104763) Added a new function vx_iflush_threads() which will enqueue iflush
          worker threads only when any of the inodes in the cache list are
          dirty, otherwise it would just backout. And set the dirty flag during
          write, mmap operations. The flag  will be cleared during flushing of
          inodes.
(1114081) VX_IHxxx macros are now called only on CFS inodes.
6547100 (1136731) xauth hangs with nfsv4 over VxFS
6581120 (1136731) Request for FEM implementation change
(1139604) An overwrite record is now written in the FCL file during mmap only
          if the record is a writable mapping.
(1139614) If a file is currently mapped with at least one shred 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.

(from 123829-04)
(1135175) Need to bump up patch revision number for 2nd time
          drop to Sun for patch approval

(from 123829-03)
(1018522) Corrected call to vol_dereserve() with device name as
          argument.
(1029536) Reverted VX_GET_NINODE back to 57 by switching it with
          VX_GET_VMMBUFCOUNT.
(1032943) Do directory compaction only if it is fragmented,
          otherwise it results in the directory unnecessarily
          getting rewritten and this bloats up backups taken.
(1035742) Corrected vx_recv_cwfa_loadfs() to update fs_dsize
          as fs could has been resized.
(1043887) Update vx_logbuf_clean(). Move VX_DELAY(1)
          after releasing fs_logclean_slk lock.
(1045044) Fix end of tape condition.
(1049744) Make sure the correct fs passed to vx_device_lookup if the
          I/O fialed to the snapped file system.
6305689 (1050993, 1119225) fsync() times increase as file size grows
         on VxFS even with few dirty pages VMODSORT
(1065982) Take ilock before calling vx_msg_send in vx_rpc_setattr_tran
          so we don"t get incorrect mtime on cfs secondary.
(1069077) 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.
(1099219) Updated vx_write_alloc2_local() to limit retrying in order to
          avoid looping on a fragmented fs.
(995008) Introduce 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. Also adjust
          flags VX_CFS_CFLAGS_MASK.
(995927) Introduced reclaim inactive attribute inodes during vxupgrade of
          disk layout version 5 to 6.
(1125382) Call VX_IHxxx macros only for CFS inodes.
(1065929) Need a better method of detecting it the current
          thread is a nfsd thread.
(1069160) ACLs inherited from default ACLs allow greater permission
          than requested in some cases.

(from 123829-02)
(995927) Introduced reclaim inactive attribute inodes during vxupgrade
         of disk layout version 5 to version 6.
(1018522) Corrected call to vol_dereserve() with device name as argument.
(1032943) Updated fsadm command to do directory compaction only if
          it is fragmented.
(1035742) Corrected vx_recv_cwfa_loadfs() to update fs_dsize as file system
          could has been resized.
(1043887) Updated vx_logbuf_clean() by moving VX_DELAY(1) after releasing
          fs_logclean_slk lock.
(1049744) Updated vx_dio_physio() to pass the correct fs pointer
          to vx_device_lookup() for a snapshot file system.
(1050993) VxFS should take advanage of Solaris dirty page ordering.

(from 123829-01)
(995008) Enhancement to vx_getattr() taking IGLOCK in share mode
(995011) SxRT 4.1 B13 cfs.noise hits three asserts f:vx_ino_update:1
         f:vx_iread:2x and f:xted_ialloc_check:1
(995013) vx_fs_upgrade5(): Unconditionally do a freeze_flush*()
         sequence after vx_upg5_attr_add_attr_fs() to flush any changes
         to attribute ilist before it's read in vx_upg5_fill()
(995016) Poor read performance through FS if file is in use by ODM or QIO
(1004011) Optimization in log replay.

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

VRTSvxfs 4.1MP2 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