Patch-ID# 113206-11
Keywords: vxfs 3.5 veritas file system maintenance patch 03
Synopsis: VERITAS File System 3.5: VxFS 3.5 Maintenance Patch 03
Date: May/19/2004


Install Requirements: Reboot after installation                      
                      
Solaris Release: 8

SunOS Release: 5.8

Unbundled Product: Veritas VxFS

Unbundled Release: 3.5

Xref: 

Topic: VxFS 3.5 MP3 Multiple fixes patch

Relevant Architectures: sparc

BugId's fixed with this patch: 4254734 4497674 4657088 4662905 4690047 4724039 4745082 4751467 4755282 4778806 4806363 4825680 4936022 4944562 4945793

Changes incorporated in this version: 4936022 4944562 4945793

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch: 

/etc/fs/vxfs/mount
/etc/fs/vxfs/qlogattach
/etc/fs/vxfs/qlogck
/etc/fs/vxfs/qlogrec
/etc/init.d/qlog-startup
/etc/rcS.d/S88qlog-startup
/kernel/drv/sparcv9/vxportal
/kernel/drv/vxportal
/kernel/drv/vxportal.conf
/kernel/fs/sparcv9/vxfs
/kernel/fs/vxfs
/opt/VRTS/bin/vxenablef
/opt/VRTS/man/man1/cp_vxfs.1
/opt/VRTS/man/man1/cpio_vxfs.1
/opt/VRTS/man/man1/getext.1
/opt/VRTS/man/man1/ls_vxfs.1
/opt/VRTS/man/man1/mv_vxfs.1
/opt/VRTS/man/man1/qioadmin.1
/opt/VRTS/man/man1/qiomkfile.1
/opt/VRTS/man/man1/qiostat.1
/opt/VRTS/man/man1/setext.1
/opt/VRTS/man/man1m/df_vxfs.1m
/opt/VRTS/man/man1m/ff_vxfs.1m
/opt/VRTS/man/man1m/fsadm_vxfs.1m
/opt/VRTS/man/man1m/fscat_vxfs.1m
/opt/VRTS/man/man1m/fsck_vxfs.1m
/opt/VRTS/man/man1m/fsckptadm.1m
/opt/VRTS/man/man1m/fsclustadm.1m
/opt/VRTS/man/man1m/fsdb_vxfs.1m
/opt/VRTS/man/man1m/fstyp_vxfs.1m
/opt/VRTS/man/man1m/mkfs_vxfs.1m
/opt/VRTS/man/man1m/mount_vxfs.1m
/opt/VRTS/man/man1m/ncheck_vxfs.1m
/opt/VRTS/man/man1m/qlogadm.1m
/opt/VRTS/man/man1m/qlogattach.1m
/opt/VRTS/man/man1m/qlogck.1m
/opt/VRTS/man/man1m/qlogclustadm.1m
/opt/VRTS/man/man1m/qlogdb.1m
/opt/VRTS/man/man1m/qlogdetach.1m
/opt/VRTS/man/man1m/qlogdisable.1m
/opt/VRTS/man/man1m/qlogenable.1m
/opt/VRTS/man/man1m/qlogmk.1m
/opt/VRTS/man/man1m/qlogprint.1m
/opt/VRTS/man/man1m/qlogrec.1m
/opt/VRTS/man/man1m/qlogrm.1m
/opt/VRTS/man/man1m/qlogstat.1m
/opt/VRTS/man/man1m/qlogtrace.1m
/opt/VRTS/man/man1m/umount_vxfs.1m
/opt/VRTS/man/man1m/vxdump.1m
/opt/VRTS/man/man1m/vxedquota.1m
/opt/VRTS/man/man1m/vxenablef.1m
/opt/VRTS/man/man1m/vxfsconvert.1m
/opt/VRTS/man/man1m/vxfsstat.1m
/opt/VRTS/man/man1m/vxquot.1m
/opt/VRTS/man/man1m/vxquota.1m
/opt/VRTS/man/man1m/vxquotaoff.1m
/opt/VRTS/man/man1m/vxquotaon.1m
/opt/VRTS/man/man1m/vxrepquota.1m
/opt/VRTS/man/man1m/vxrestore.1m
/opt/VRTS/man/man1m/vxtunefs.1m
/opt/VRTS/man/man1m/vxupgrade.1m
/opt/VRTS/man/man3/vxfsu_get_ioffsets.3
/opt/VRTS/man/man4/fs_vxfs.4
/opt/VRTS/man/man4/inode_vxfs.4
/opt/VRTS/man/man4/qlog_config.4
/opt/VRTS/man/man4/tunefstab.4
/opt/VRTS/man/man7/qlog.7
/opt/VRTS/man/man7/vxfsio.7
/opt/VRTSvxfs/include/dmapi.h
/opt/VRTSvxfs/include/fdd.h
/opt/VRTSvxfs/include/sys/fs/dmapi.h
/opt/VRTSvxfs/include/sys/fs/dmapi_size.h
/opt/VRTSvxfs/include/sys/fs/dmattr_drv.h
/opt/VRTSvxfs/include/sys/fs/vx_ioctl.h
/opt/VRTSvxfs/include/sys/fs/vxio.h
/opt/VRTSvxfs/include/vxfsutil.h
/opt/VRTSvxfs/lib/.libvxfsutil.so
/opt/VRTSvxfs/lib/libvxfsutil.a
/opt/VRTSvxfs/lib/libxdsm.a
/opt/VRTSvxfs/lib/sparcv9/.libvxfsutil.so
/opt/VRTSvxfs/lib/sparcv9/libvxfsutil.a
/opt/VRTSvxfs/lib/uxvxfs.txt
/opt/VRTSvxfs/sbin/cp
/opt/VRTSvxfs/sbin/cpio
/opt/VRTSvxfs/sbin/fsadm
/opt/VRTSvxfs/sbin/fscat
/opt/VRTSvxfs/sbin/fsckptadm
/opt/VRTSvxfs/sbin/fsclustadm
/opt/VRTSvxfs/sbin/getext
/opt/VRTSvxfs/sbin/ln
/opt/VRTSvxfs/sbin/ls
/opt/VRTSvxfs/sbin/mv
/opt/VRTSvxfs/sbin/qioadmin
/opt/VRTSvxfs/sbin/qiomkfile
/opt/VRTSvxfs/sbin/qiostat
/opt/VRTSvxfs/sbin/qlogadm
/opt/VRTSvxfs/sbin/qlogckd
/opt/VRTSvxfs/sbin/qlogclustadm
/opt/VRTSvxfs/sbin/qlogdb
/opt/VRTSvxfs/sbin/qlogdetach
/opt/VRTSvxfs/sbin/qlogdisable
/opt/VRTSvxfs/sbin/qlogenable
/opt/VRTSvxfs/sbin/qlogmk
/opt/VRTSvxfs/sbin/qlogprint
/opt/VRTSvxfs/sbin/qlogrm
/opt/VRTSvxfs/sbin/qlogstat
/opt/VRTSvxfs/sbin/qlogtrace
/opt/VRTSvxfs/sbin/setext
/opt/VRTSvxfs/sbin/vxdump
/opt/VRTSvxfs/sbin/vxedquota
/opt/VRTSvxfs/sbin/vxenablef
/opt/VRTSvxfs/sbin/vxfsckd
/opt/VRTSvxfs/sbin/vxfsconvert
/opt/VRTSvxfs/sbin/vxfsstat
/opt/VRTSvxfs/sbin/vxquot
/opt/VRTSvxfs/sbin/vxquota
/opt/VRTSvxfs/sbin/vxquotaoff
/opt/VRTSvxfs/sbin/vxquotaon
/opt/VRTSvxfs/sbin/vxrepquota
/opt/VRTSvxfs/sbin/vxrestore
/opt/VRTSvxfs/sbin/vxtunefs
/opt/VRTSvxfs/sbin/vxupgrade
/opt/VRTSvxms/lib/map/libvxfs.so
/opt/VRTSvxms/lib/map/sparcv9/libvxfs.so
/usr/kernel/drv/fdd
/usr/kernel/drv/fdd.conf
/usr/kernel/drv/qlog
/usr/kernel/drv/qlog.conf
/usr/kernel/drv/sparcv9/fdd
/usr/kernel/drv/sparcv9/qlog
/usr/lib/fs/vxfs/df
/usr/lib/fs/vxfs/ff
/usr/lib/fs/vxfs/fsck
/usr/lib/fs/vxfs/fsckall
/usr/lib/fs/vxfs/fsdb
/usr/lib/fs/vxfs/fstyp
/usr/lib/fs/vxfs/mkfs
/usr/lib/fs/vxfs/ncheck
/usr/lib/fs/vxfs/umount
/usr/lib/locale/C/LC_MESSAGES/uxvxfs
/usr/lib/locale/ja/LC_MESSAGES/uxvxfs

Problem Description:

--------------------
 
4936022  (141795) The vxdump command fails with SIGSEGV when used on a
         mount point of an unmounted file system.
4944562  (136967) The system hangs due to a deadlock between the vx_putpage and
         vx_trunc functions.
4945793  (140167) The fstyp command returns erroneous message when executed on
         a non-VxFS file system.
 
(from 113206-10)
 
4806363  (118013) Capitalization of "SunOS release" field in Veritas
         patches needs to be changed to "SunOS Release".
4662905  (127717) The acct() system call log differs between UFS and
         VxFS.
4254734  (124403) vxdump backs up files redundantly while doing an
         incremental backup of files touched with a future date.
(98854)  A full fsck does not clear non-zero corruption in the 
         atime/mtime/ctime fields of a free on-disk inode.
 
(from 113206-09)
(from 113206-08)
(from 113206-07)
(from 113206-06)
 
(from 113206-05)
 
(122793) Mounting a Storage Checkpoint with the default ioerror policy
	 failed any time the file system primary was mounted with an
	 ioerror policy other than the default.
(121942) The multi-threaded readahead performance degrades when the VxFS
         tunable has the default value of 1.
 
(from 113206-04)
 
4825680  (93603) VxFS hangs in the vx_putpage_loopcheck() function.
4778806  (113367) In some cases, files created under a directory
	 with default ACLs did not inherit the default ACLs.
4755282  (114509) Mount of VxFS file system panics on Solaris debug
         kernel.
4497674  (114404) VxFS caused a system panic in the page_find()
	 function on Solaris debug kernel.
(120439) VxFS threads hang trying to get a buffer lock, resulting in a 
	 system hang.
(114735) After setting a DMAPI fsid attribute on the root inode and
	 umounting the file system, the subsequent mount caused a panic.
(119303) VxFS caused a system panic in vx_multi_bufinval() on an extent
	 that spans two adjacent Allocation Units.
(117990) The df command prints information about number of free inodes
         incorrectly.
(117668) A segmentation fault can occur when the vxckptadm command is
         invoked by a non-root user.
(107928) Turning on Cached QIO on a file system containing ODM files could
	 cause a system panic.
(95095)  VxFS 3.5 commands were slow due to duplicate licensing
         checks and initializations.
(73179)  Unmounting a file system can cause a panic on non-SPFS
	 systems running CVM.
 
(from 113206-03)
 
4751467  (112535) vxrestore omits files when restoring a level 9 dump 
         with -r flag.
 
(from 113206-02)
 
(108451) A race condition resulted when the same minor number was allocated
         by issueing multiple open system calls to the /dev/vxportal driver.
(107855) System panicked while trying to force remove (qlogadm -f remove) a
         QuickLog device.
(102634) NFS clients experienced poor performance when allocating
         blocks to files in a VxFS file system that was almost full.
 
(from 113206-01)
 
4745082  (98157) The default intent logging mode is "log" when mounting
         a VxFS file system with the -g (global) option.
4724039  (107074) Running the "fsck -o mounted" command on a globally mounted
         file system generated an incorrect error message.
4690047  (104879) Panic occurred when an ioctl(2) system call was made to
         VxFS with a null return value pointer.
4657088  (101308)  Panic occurred because PXFS file system vnodes were
         incorrectly interpreted as VxFS vnodes and mistakenly dereferenced.
(107530) System hang occurred while trying to unmount a context view.
(87699)  Memory leaks occurred when using direct I/O and making a
         writev(2) or readv(2) system call.

Patch Installation Instructions:
--------------------------------
 
For Solaris 2.0-2.6 releases, refer to the Install.info file and/or
the README within the patch for instructions on using the generic
''installpatch'' and ''backoutpatch'' scripts provided with each patch.
 
For Solaris 7-9 releases, refer to the man 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/104945-02
 
The following example removes a patch from a standalone system:
 
       example# patchrm 104945-02
 
For additional examples please see the appropriate man pages.
 
Special Installation Instruction:
---------------------------------
 
If VxFS 112381-XX was previously installed on your system, you must
remove the patch before installing patch 113206-11.  To
determine if 112381-XX is currently installed, enter the the following
command:
 
      # /usr/bin/showrev -p | grep "Patch: 112381"
 
You also need to use the shutdown command to reboot the system after patch
installation or de-installation:
 
     shutdown -g0 -y -i6
 
Additional Notes:
-----------------
 
Quota reporting and handling commands do not operate correctly if any
user or group quota limits or usage exceed one terabyte (1TB). It is
advisable to limit user and group quotas to less than one terabyte.
 
1) VERITAS 136967 (Sun BUG ID 4944562)
 
   The system hangs due to a deadlock between the vx_putpage and vx_trunc
   functions.  From the cores, 382 threads appear to get stuck in the
   vx_traninit() function while trying to flush a transaction to free up log
   space.  The thread 0x2a10344fd20 in traninit calls the vx_tflush_buffer()
   function and seems become stuck waiting to acquire a buffer in the
   vx_bc_getblk() function. This thread runs a delay loop for the buffer, and
   is waits to acquire the buffer (0x3007d7912f8) for device 9d00009470 and
   blkno 41d6660.  The thread 0x2a10118fd20 also loops for the same buffer.
 
2) VERITAS 140167 (Sun BUG ID 4945793)
 
   The fstyp command returns an erroneous message when executed on a non-VxFS
   file system.  An example error message is as follows:
 
   UX:vxfs fstyp: ERROR: Cannot access 
   /devices/ssm@0,0/pci@19,600000/pci@1/SUNW,isptwo@4/sd@0,0: No such file 
   or directory
   Unknown_fstyp (no matches)
 
   The lack of matches is correct, but the error message should not occur.
 
3) VERITAS 141795 (Sun BUG ID 4936022)
 
   The vxdump command fails with SIGSEGV when used on a mount point of an
   unmounted file system.  The vxdump command succeeds when used on a raw
   device.
 
(from 113206-10)
 
1) VERITAS Incident 98854
 
   A full fsck does not clear non-zero corruption in the 
   atime/mtime/ctime fields of a free on-disk inode.
 
2) VERITAS Incident 124403 (Sun BUG ID 4254734)
 
   vxdump backs up files redundantly while doing an incremental backup
   of files touched with a future date.
 
3) VERITAS Incident 127717 (Sun Bug ID 4662905)
 
   The acct() system call log for UFS is different from VxFS when
   executing a program that forks a child process and the sticky bit is
   set.
 
4) VERITAS Incident 118013 (Sun BUG ID 4806363)
 
   The patch README file as part of Sun patch format contains a field -
   SunOS release = <value>.  This should be changed to "SunOS Release".
 
(from 113206-09)
(from 113206-08)
(from 113206-07)
(from 113206-06)
 
(from 113206-05)
 
1) VERITAS Incident 121942
 
   The multi-threaded readahead performance degrades when the VxFS
   tunable has the default value of 1.
 
2) VERITAS Incident 122793
 
   Mounting a Storage Checkpoint with the default ioerror policy failed
   any time the file system primary was mounted with an ioerror
   policy other than the default.
 
(from 113206-04)
 
1) VERITAS Incident 107928
 
   Turning on Cached QIO on a file system containing ODM files could
   lead to unexpected behavior and cause a system panic.
 
2) VERITAS Incident 114404 (Sun ID 4497674)
 
   System panics occurred in the page_find() function because the
   function is called with a non-page boundary offset by VxFS.
 
3) VERITAS Incident 114509 (SUN BUG ID 4755282)
 
   System panics occurred while mounting a VxFS file system on a system
   running Solaris debug kernel.
 
4) VERITAS Incident 113367 (Sun BUG ID 4778806)
 
   Files created under a directory with default ACLs may not inherit
   the ACLs if the inode of the directory is a reused inode of a
   removed directory, or until a directory is created within the
   directory.
 
5) VERITAS Incident 114735
 
   After setting a DMAPI fsid attribute on the root inode and umounting
   a file system, the next mount of the file system caused a panic.
   This was due to trying to free more memory than had been allocated.
 
6) VERITAS Incident 95095
 
   Execution time of the mount and mkfs commands was slow because
   they were calling licensing initialization multiple times.
 
7) VERITAS Incident 73179
 
   A panic may occur when unmounting a VxFS file system on a system
   that has Cluster Volume Manager (CVM) installed without a SANPoint
   Foundation Suite (SPFS) license.
 
8) VERITAS Incident 117990
 
   The df command incorrectly displays information about the number of
   free inodes.
 
9) VERITAS Incident 93603 (SUN BUG ID 4825680)
 
   VxFS hangs in the vx_putpage_loopcheck() function.
 
10) VERITAS Incident 120439
 
    VxFS threads hang trying to get a VxFS buffer lock, resulting in a
    system hang.
 
11) VERITAS Incident 117668
 
    The vxckptadm command can generate a segmentation fault when
    invoked by a user without superuser privileges.
 
12) VERITAS Incident 119303
 
    VxFS caused a panic in vx_multi_bufinval() on an extent that spans
    two adjacent Allocation Units.
 
(from 113206-03)
 
1) VERITAS Incident 112535 (4751467)
 
   vxrestore incorrectly omitted files by referencing an outdated
   maxino value. vxrestore now synchronizes the maxino value updates
   with incremental dump and restore to correct the problem.
 
 
(from 113206-02)
 
 
1) VERITAS Incident 107855
 
   System panicked while trying to force remove (qlogadm -f remove) a
   QuickLog device.
 
 
2) VERITAS Incident 108451
 
   A problem occurred when two or more open system calls to the
   vxportal driver took place at the same time. Numerous utilities can
   open the /dev/vxportal driver. A race condition exists when more
   than one process can have the same minor number allocated. When this
   happens, only one open call can succeed; other open system calls
   using this same minor number allocation would fail with ENOMEM error
   12.
 
3) VERITAS Incident 102634
 
   NFS clients experienced poor performance when allocating blocks to
   files in a VxFS file system that was almost full.
 
 
(from 113206-01)
 
 
1) VERITAS Incident 87699
 
   When using Direct I/O, an application making a writev(2) or readv(2)
   system call generated memory leaks or caused kernel heap
   corruption.
 
2) VERITAS Incident 98157 (4745082/4620205)
 
   Changes the default intent logging mode from "delaylog" to "log"
   when a VxFS file system is mounted using the generic -g (global)
   option of the mount command.
 
 
3) VERITAS Incident 101308 (4657088)
 
   The PXFS file system uses the underlying file system type (VxFS) as
   its VFS layer to make it transparent to applications. So VxFS may
   interpret PXFS vnodes to be VxFS vnodes, mistakenly dereference the
   vnode as a VxFS vnode, and panic. In addition to checking for VFS
   type, VxFS now implements checks to determine whether a vnode is
   VxFS vnode.
 
 
4) VERITAS Incident 104879 (4690047)
 
   Panic occurred when an ioctl(2) system call was made to VxFS with a
   null return value pointer.
 
 
5) VERITAS Incident 107074 (4724039)
 
   When the "fsck -o mounted" command was run on a globally mounted
   file system, the error message "unable to determine if file system
   on device <x> is snapped" was displayed even though the command was
   successful.
 
 
6) VERITAS Incident 107530
 
   A file system hang could occur while trying to freeze a VxFS file
   system (during an unmount operation for example). A thread could
   sleep for an indefinite time (due to a missed wakeup) waiting for
   the log buffer to be flushed, preventing the unmount from freezing
   the file system.

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

None.

README -- Last modified date:  Wednesday, May 19, 2004

