Patch-ID# 125847-01 Keywords: VxFS 5.0 VERITAS File System Rolling Patch 01 Synopsis: VRTSvxfs 5.0_x86: Rolling Patch for File System 5.0 Date: Sep/07/2007 Solaris Release: 10_x86 SunOS Release: 5.10_x86 Unbundled Product: VERITAS VxFS Unbundled Release: 5.0 Topic: VxFS 5.0 x86 Multiple Fixes Patch Relevant Architectures: i386 BugId's fixed with this patch: 6305689 6566674 Changes incorporated in this version: 6305689 6566674 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: $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/amd64/vxportal $ROOT_2.10/kernel/drv/vxportal.conf $ROOT_2.10/kernel/fs/amd64/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/amd64/vxckptpriv.so $ROOT_2.10/opt/VRTSvxfs/lib/amd64/vxfspriv.so $ROOT_2.10/opt/VRTSvxfs/lib/amd64/vxfsutil.so $ROOT_2.10/opt/VRTSvxfs/lib/libxdsm.a $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/amd64/libvxfs.so $ROOT_2.10/opt/VRTSvxms/lib/map/amd64/libvxfssnap.so $ROOT_2.10/opt/VRTSvxms/lib/map/libvxfs.so $ROOT_2.10/opt/VRTSvxms/lib/map/libvxfssnap.so $ROOT_2.10/usr/kernel/drv/amd64/fdd $ROOT_2.10/usr/kernel/drv/fdd.conf $ROOT_2.10/usr/lib/fs/vxfs/amd64/fsck $ROOT_2.10/usr/lib/fs/vxfs/amd64/fsck_logv11 $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/i386/fsck $ROOT_2.10/usr/lib/fs/vxfs/i386/fsck_logv11 $ROOT_2.10/usr/lib/fs/vxfs/mkfs $ROOT_2.10/usr/lib/fs/vxfs/ncheck $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: -------------------- (1018517) Corrected call to vol_dereserve() with device name as argument. (1029539) Reverted VX_GET_NINODE back to 57 by switching it with VX_GET_VMMBUFCOUNT. 6305689 (1042499) fsync() times increase as file size grows on VxFS even with few dirty pages VMODSORT. (1048439) Update vx_logbuf_clean(). Move VX_DELAY(1) to later position after releasing fs_logclean_slk lock. (1053586) Added a check for the ownership of a locked thread before trying to get the thread's ownership. (1073275) Introduce a new field (valid) in dotdot_list to capture if there is a valid parent. The new field exists in both parent's databases and their attributes area. With this fix, fsck can detect any invalid attribute entry. (1074982) Remove VX_DELAY for performance gains. (1075102) Need a better way to tell if a thread is a nfs thread (Solaris). (1079791) fsck log replay extremely slow. 6566674 (1087773) VxFS Global mount points within Sun Cluster are not working under Sun Cluster on x86 platform. (1087804) Fixed an issue in which the correct file system was not always passed to vx_device_lookup if the I/O failed to the snapped file system. (1090585) Updated vx_read1() to invalidate entrie file that is accessed via fdd, before and after doing I/O request. (1090587) ACLs inherited from default ACLs allow greater permission than requested in some cases. (1093682) Resolve large extent file system hang issue. (1096470) Added a check for the validity of a file system pointer before accessing the fields in a file system structure. This is needed because a file system structure may not exist at this point because of a clean umount. (1100675) 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. (993020) 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. Patch Installation Instructions: -------------------------------- 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 that Sun BugID's 6393251 and 6538758 be fixed in the kernel release on which this patch is being installed. Enabling VxFS VMODSORT functionality without the correct OS kernel patches can result in data corruption. Required operating system patches: (Solaris 10 x86) 125101-10 Kernel Update patch IDR124241-02 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