OBSOLETE Patch-ID# 103154-17 Keywords: umount fsck ODS rwlock UFS_HOLE TStrans panic kernel y2000 acl LOFS Synopsis: OBSOLETED by 103094 Date: Sep/08/97 Solaris Release: 2.5_x86 SunOS Release: 5.5_x86 Unbundled Product: Unbundled Release: Xref: This patch available for SPARC as patch 103153 Topic: SunOS 5.5_x86: kernel/fs/lofs patch, kernel/fs/ufs,usr/lib/fs/ufs/fsck NOTE: We recommend installing all of the following bundled Solaris 2.5 OS/Networking patches which contain the Y2000 fixes: 102965-07 (or higher revs) lp patch 103154-15 (or higher revs) kernel/fs/ufs & usr/lib/fs/ufs/fsck patch 103179-04 (or higher revs) pam security patch 103188-26 (or higher revs) libc patch 103262-04 (or higher revs) ufsdump and ufsrestore 103724-04 (or higher revs) cron/crontab/at/atq/atrm patch 103946-02 (or higher revs) accounting patch 104467-02 (or higher revs) usr/bin/date patch 104862-01 (or higher revs) usr/sbin/sar patch 104864-02 (or higher revs) troff macro patch 104866-01 (or higher revs) usr/bin/passwd patch 104868-01 (or higher revs) usr/lib/saf/listen patch 104870-01 (or higher revs) usr/lib/libadm.a & usr/lib/libadm.so.1 patch 104872-01 (or higher revs) usr/vmsys/bin/initial patch 104890-01 (or higher revs) usr/bin/uustat patch 105019-01 (or higher revs) usr/lib/libkrb.a & usr/lib/libkrb.so.1 patch BugId's fixed with this patch: 1215792 1220995 1227376 1229843 1233049 1242188 1244278 Changes incorporated in this version: 1244278 Relevant Architectures: i386 Patches accumulated and obsoleted by this patch: Patches which conflict with this patch: Patches required with this patch: 103094-02 (or higher revs) Obsoleted by: 103094 on Dec/04/98 Files included with this patch: /usr/lib/fs/ufs/fsck /kernel/fs/ufs /kernel/fs/lofs Problem Description: 1244278 acl support is missing from lofs filesystem NOTE: this provides the complete fix for 1244278 (from 103154-16) 1244278 acl support is missing from lofs filesystem (from 103154-15) 4051082 Short duration machine hangs after installation of ufs patch 1265170 .../cmd/fs.d/ufs/fsck/utilities.c will not handle 2000AD and beyond YY formats (from 103154-14) 1265000 "panic: kernel heap corruption detected" while running TStrans (high/long) (from 103154-13) 1259984 2.4 Sun4d hangs during shutdown or halt (from 103154-12) 1267447 deadlock when running quotactl on heavily loaded system (from 103154-11) 1266278 freeing free xxx panic; indirtrunc tries to free the same block twice (from 103154-10) 1249319 lo_sync() should not flush the underlying filesystem (from 103154-09) 1233049 System hangs when user stops thread writing to ODS logging device (from 103154-08) 1250351 fsck mounted fs uses block rather than raw name, so error-lock state isn't fixed 1250620 fix-on-panic hard-locks trans. devices, when only error-lock is necessary (from 103154-07) 1244088 SS2000 is completely hanging under heavy I/O - Solaris 2.4 + 101945-36 (from 103154-06) 1248384 lockfs -h and umount of the UFS lying under a loopback file system causes panic (from 103154-05) 1245703 Deadlock condition detected: cycle in blocking chain (from 103154-04) 1227376 panic "Deadlock condition detected: cycle in blocking chain" (from 103154-03) 1242481 panic: ufs_putapage: bn == UFS_HOLE 1242188 hang waiting for rwlock with holdcnt of -1 but no owner 1215792 delayed availability of freed diskspace when UFS logging with ODS 4.0/3.0 1245602 Logging UFS is slower than UFS for local writes 1242481 This problem happens when we are in the process of deleting the inode (but delete is not complete yet) and an nfs thread sneaks in and tries to operate on same inode (in this case it was write). The nfs side checks for generation number in inode to detect if the inode it is referring to is no longer valid. However this check is not able to prevent this problem from happening because the inode deletion is not complete yet and the inode generation number is changed much later in the delete process. During the delete process we do not hold the i_contents lock all the time, which allows the nfs thread to sneak in and get the same inode when we are actually deleting it. The ufs_delete code has some checks for v_count > 1 to check for such situation, but these checks are not sufficient to prevent this. The nfs thread could still come in after the last v_count check is made in ufs_delete and get the same inode. (from 103154-02) 1220995 directory blocks not counted in quotas (from 103154-01) 1229843 ufs `umount' on an errored device hangs system. Patch Installation Instructions: -------------------------------- Refer to the Install.info file within the patch for instructions on using the generic 'installpatch' and 'backoutpatch' scripts provided with each patch. Any other special or non-generic installation instructions should be described below. Special Install Instructions: ----------------------------- Reboot the system after patch installation. NOTE: We recommend installing all of the following bundled Solaris 2.5 OS/Networking patches which contain the Y2000 fixes: 102965-07 (or higher revs) lp patch 103154-15 (or higher revs) kernel/fs/ufs & usr/lib/fs/ufs/fsck patch 103179-04 (or higher revs) pam security patch 103188-26 (or higher revs) libc patch 103262-04 (or higher revs) ufsdump and ufsrestore 103724-04 (or higher revs) cron/crontab/at/atq/atrm patch 103946-02 (or higher revs) accounting patch 104467-02 (or higher revs) usr/bin/date patch 104862-01 (or higher revs) usr/sbin/sar patch 104864-02 (or higher revs) troff macro patch 104866-01 (or higher revs) usr/bin/passwd patch 104868-01 (or higher revs) usr/lib/saf/listen patch 104870-01 (or higher revs) usr/lib/libadm.a & usr/lib/libadm.so.1 patch 104872-01 (or higher revs) usr/vmsys/bin/initial patch 104890-01 (or higher revs) usr/bin/uustat patch 105019-01 (or higher revs) usr/lib/libkrb.a & usr/lib/libkrb.so.1 patch