Patch-ID# 101978-03 Keywords: lockd swap leak cd error NFS inet Synopsis: SunOS 5.4_x86: lockd fixes Date: Sep/30/94 Solaris Release: 2.4_x86 SunOS release: 5.4_x86 Unbundled Product: Unbundled Release: Xref: This patch available on SPARC as patch 101977 Topic: SunOS 5.4_x86: lockd fixes BugId's fixed with this patch: 1171609 1107880 1170532 Changes incorporated in this version: 1170532 Relevant Architectures: i386 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: /usr/lib/nfs/lockd Problem Description: 1170532 repeating "no inet address" and "lost an NFS record lock" messages In rpc.c the create_client routine uses clnt_create_vers() which causes a deadlock if the calling host and target host are both trying to create handles for each other. Another bug is in "call_rpc()". It returns RPC_TIMEDOUT to it's callers when clnt_create() times out, indicating a successful RPC call was made when the RPC was never sent. This concerns lockd. In rpc.c the creat_client routine uses clnt_create_vers() which causes a deadlock if the calling host and target host are both trying to create handles for each other. Another fix is to call_rpc(). It used to return RPC_TIMEDOUT to it's callers when clnt_create() timed out, indicating a successful RPC call was made when the RPC was never sent. (from 101978-02) 1107880 shared cd mounted w/o -r option gets multiple lockd error messages If you have a cd-rom mounted and then shared (mounted & shared read-only) and then you nfs mount this file system without specifying the read-only option you set yourself up for a problem. Now if you try attempt file locking on this file system from the client you will see the message: fcntl: Resource temporarily unavailable. You will also see an error on the server. A problem exists when a client mounts a read-only file system from a server. If the mount does not specify the read-only option "-o ro" then the lock manager will cause failures when asked to lock files. The lock manager will convert a file handle to a file descriptor. The code opens the file as read/write which fails on a read-only file system. The work around is to mount the file system with the "ro" option. (from 101978-01) 1171609 lockd swap leak The fix is to a portion of the lock manager which creates client handles. The change was made to keep lockd from allocating the maximum size of 64k for send and receive buffers. The new size is 4k. Patch Installation Instructions: -------------------------------- Generic 'installpatch' and 'backoutpatch' scripts are provided within each patch package with instructions appended to this section. Other specific or unique installation instructions may also be necessary and should be described below. Special Install Instructions: ----------------------------- none