Patch-ID# 100075-06 
Keywords: lockd, rpc.lockd, rpc.statd file locking
Synopsis: lockd problems in 4.1.1 4.1 and 4.0.3
Date: 7/February/90

SunOS release: 4.1.1, 4.1 , 4.0.3
 
Unbundled Product:
 
Topic: rpc.lockd jumbo patch
 
BugId's fixed with this patch: 1044565 1045700 1046001 1045996 1045995

Architectures for which this patch is available: sun4 sun4c Sun3 and Sun3x

Problem Description:

	PROBLEMS FIXED BY 100075-06 PATCH

	i) Fixed problems where locks were getting lost on a heavily
	loaded system, particularly when using shared locks or test
	lock calls.

	ii) Fixed problem where pc-nfs applications were failing with
	"rpc.lockd: unable to unlock a lock" and "rpc.lockd: unable to 
	set a lock."

	iii) Fixed problem with automatic upgrade and downgrade of 
	locks.

	iv) Fixed problem with client reboot (L1 A) and locks not being
	recovered after that.

	v) Fixed problem with signal interrupting lock calls and wrong
	error code returned.

	vi) Fixed problem with infinite retry of lock on unlinked files.

	vii) Fixed problem with local blocking shared locks not being
	granted a lock when one is available.

	viii) Fixed problem with u-area overwrite when doing test lock.

	ix) Fixed problem where messages like "klm_lockmgr: unlock denied?!" 
	and "lock-manager: RPC error: .." no longer appear under normal 
	operations.

	x) Additionally this patch allows the kernel lockf debugging code
	to be turned on and off dynamically by setting/unsetting the
        variable lock_debug_on using the following command:-

                #adb -w -k /vmunix /dev/mem
                physmem XXX
                lock_debug_on/W 1
                ^D

        PROBLEMS FIXED BY 100075-05 PATCH

	i) Fixed problem with running out of file descriptors and
	getting RPC TIMEOUT errors, seen when running large number
	of diskless clients.

	ii) Fixed problem where fd and fd structure was not released
	when doing test lock, eventually running out of file 
	descriptors. This problem would occur when running WP and
	quitting out of the window.

	iii) Fixed problem where rpc.lockd core dumps after a large
	amount of time when running "fame" application.

	iv) Fixed problem where restarting lockd on a client results
	in the server not being able to communicate with the new lockd
	as it has an old client handle that is associated with a now
	invalid port number.

	v) Fixed problem where upgrade from a read lock to a write lock 
	is allowed when remote read locks are outstanding.


Installation Instructions:


Rename the original files before installing the patches



For 4.1.1 and 4.1:
      Place the files in OBJ directory in /sys/sunX/OBJ
      Place the new rpc.lockd in /usr/etc
      Rebuild a new kernel and reboot.



For 4.0.3:
      Place the files in OBJ directory in /sys/sunX/OBJ
      Place the new rpc.lockd in /usr/etc
      Add the following line to /sys/sunX/conf/files

ufs/ufs_lockf.c   standard

      Rebuild a new kernel and reboot.

