From owner-freebsd-current Sun Aug 20 19:22:22 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id TAA03844 for current-outgoing; Sun, 20 Aug 1995 19:22:22 -0700 Received: from cs.weber.edu (cs.weber.edu [137.190.16.16]) by freefall.FreeBSD.org (8.6.11/8.6.6) with SMTP id TAA03821 ; Sun, 20 Aug 1995 19:22:10 -0700 Received: by cs.weber.edu (4.1/SMI-4.1.1) id AA24224; Sun, 20 Aug 95 20:23:50 MDT From: terry@cs.weber.edu (Terry Lambert) Message-Id: <9508210223.AA24224@cs.weber.edu> Subject: KERNEL PATCHES FOR NFS LOCKING SUPPORT To: current@freebsd.org, hackers@freebsd.org, andrew.gordon@net-tel.co.uk Date: Sun, 20 Aug 95 20:23:48 MDT X-Mailer: ELM [version 2.4dev PL52] Sender: current-owner@freebsd.org Precedence: bulk I have uploaded the kernel pieces necessary for NFS locking support to: freefall.cdrom.com:~terry/RLOCK.tar.gz. This does NOT include the user space daemons, which I've left to Andrew, who claims to have bogus rpc.lockd and rpc.statd code (yeah, Andrew!). This is basically proxy remote lock support identical to that in SunOS implemented via the fcntl() interface. One NFS specific function is missing and depends on the NFS and Andrew as to how it needs to be implemented (it's a trivial function, but the NFS plug-in architecture will affect it). It has to be done right to allow you to still option NFS out of a kernel. The README from the tar file follows. Terry Lambert terry@cs.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers. ============================================================================== This set of patches is most of the kernel support required for NFS locking support. The only missing piece is the fcntl(2) command F_CNVT, which is used by a lock daemon to convert an NFS file handle into an open fd in the lock daemon, which is then used to assert the locks. This probably wants to be implemented as explicit support in the NFS server code itself and accessed via VOP_IOCTL() or some similar means. The actual cookie format and implementation of the reverse lookup are, of course, specific to the NFS code, which is currently under very active developement, or I'dimplement it myself. This does NOT implement the user space daemons required to support incoming requests -- there is work under way to support this already by Andrew Gordon per a posting in the news groups (last Saturday, 19 Aug 95). The changes for this support are rather trivial. Terry Lambert terry@cs.weber.edu ==============================================================================