Patch-ID# 100177-01 Keywords: ufs, itrunc, panic Synopsis: SunOS 4.1: quotas and heavy system load. Date: 13/Dec/90 SunOS release: 4.1 Unbundled Product: Unbundled Release: Topic: BugId's fixed with this patch: 1034916 Architectures for which this patch is available: sun3, sun3x, sun4, sun4c Patches which may conflict with this patch: Obsoleted by: Next major release of SunOS Problem Description: This patch fixes a race condition in iget() dqrele() may sleep. Even though the new inode is in the new hash chain, the new ino number is not yet in. Therefore, if another process comes in to get the same inode, having failed to find one, will create another inode with the same dev and ino. The fix is to move dqrele() before bread(). This is what has been done in 4.3tahoe. INSTALL: After extracting, as root install the correct architecture type; sun3, sun4, sun3x, or sun4c patch as follows: # arch -k to find out which architecture you have # mv /sys/sun[3,3x,4,4c]/OBJ/ufs_inode.o /sys/[3,3x,4,4c]/OBJ/ufs_inode.o.orig [3,3x,4,4c] is dependent of results of arch -k # cp sun[3,3x,4,4c]/ufs_inode.o /sys/[3,3x,4,4c]/OBJ/ufs_inode.o # chmod 644 /sys/[3,3x,4,4c]/OBJ/ufs_inode.o run /etc/config on your kernel and build and install this new kernel. Please refer to the system and networking administration manual for instructions on building a custom kernel.