kern/50807: NFS file locking as client deos not working

Shao Zhang shao at cia.com.au
Sun Apr 13 17:30:06 PDT 2003


The following reply was made to PR kern/50807; it has been noted by GNATS.

From: Shao Zhang <shao at cia.com.au>
To: Bruce Evans <bde at zeta.org.au>
Cc: FreeBSD-gnats-submit at freebsd.org, <freebsd-bugs at freebsd.org>
Subject: Re: kern/50807: NFS file locking as client deos not working
Date: Mon, 14 Apr 2003 10:27:11 +1000

 On [Fri, 11 Apr 2003 21:25:15 +1000 (EST)], Bruce Evans <bde at zeta.org.au> wrote:
 > On Fri, 11 Apr 2003, Shao Zhang wrote:
 >
 >> >Description:
 >> 	When running the system as an NFS client, file locking does not work at
 >> all. The call to fcntl(id, F_SETLK, ...) returns errno 45. The nfs server used
 >> is a Redhat Linux 7, with kernel 2.4.2. I have verified that it works fine in
 >> both 4.5-RELEASE and 4.6-RELEASE. I have the following entries in my rc.conf:
 >>
 >> nfs_client_enable="YES"         # This host is an NFS client (or NO).
 >> nfs_access_cache="4"            # Client cache timeout in seconds
 >> nfs_server_enable="NO"          # This host is an NFS server (or NO).
 >> nfs_server_flags="-u -t -n 4"   # Flags to nfsd (if enabled).
 >> nfs_privport="YES"              # Provide NFS only on secure port (or NO).
 >> nfs_bufpackets="DEFAULT"        # bufspace (in packets) for client (or DEFAULT)
 >
 > At least for a -current server and client, one or both rpc.lockd and
 > rpc.statd enabled here on one or both of the client and server.  IIRC,
 > enabling both on both works but may be more than necessary.  rc.conf.5
 > is very unclear on the exact servers required.  mount_nfs.8 gives more
 > details in connection with how to not use these servers (-L/nolockd flag)
 > but is also unclear.
 >
 > RELENG_4 fakes nfs locking so that lock requests succeed but don't actually
 > work.  "mount -t nfs -onolockd ..." gives the same fake locking as in
 > RELENG_4.
 
 My understanding is that you only need to enable lockd and statd for the
 server. According to man rc.conf:
 
    rpc_lockd_enable
                  (bool) If set to ``YES'' and also an NFS server, run
                  rpc.lockd(8) at boot time.
 
    rpc_statd_enable
                  (bool) If set to ``YES'' and also an NFS server, run
                  rpc.statd(8) at boot time.
 
 
 The NFS server I am using here is a linux box with 2.4.2 which has a
 kernel mode lockd and rpc.statd is running as well. I have tried to
 enable both options on my freebsd box as a client, and now the
 bogofilter program actually hangs there.
 
 Regards,
 
 Shao.


More information about the freebsd-bugs mailing list