From owner-freebsd-fs@FreeBSD.ORG Tue May 13 14:06:36 2003 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2FE9837B401; Tue, 13 May 2003 14:06:36 -0700 (PDT) Received: from mail.allcaps.org (allcaps.org [216.240.173.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E7F643F3F; Tue, 13 May 2003 14:06:35 -0700 (PDT) (envelope-from bsder@allcaps.org) Received: from mail.allcaps.org (localhost [127.0.0.1]) by mail.allcaps.org (Postfix) with ESMTP id 14A1A92FAF; Tue, 13 May 2003 17:09:44 -0400 (EDT) Received: from localhost (bsder@localhost)h4DL9hNQ002005; Tue, 13 May 2003 14:09:44 -0700 X-Authentication-Warning: mail.allcaps.org: bsder owned process doing -bs Date: Tue, 13 May 2003 14:09:43 -0700 (PDT) From: "Andrew P. Lentvorski, Jr." To: Robert Watson In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Don Lewis cc: alfred@FreeBSD.org cc: fs@FreeBSD.org Subject: Kernel support for NFS locking (was: Re: rpc.lockd spinning; much breakage) X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 May 2003 21:06:36 -0000 On Tue, 13 May 2003, Robert Watson wrote: > > Andrew P. Lentvorski wrote: > > > > One problem is that FreeBSD doesn't allocate enough fields in its local > > lock structure to distinguish external identifiers in the locks (all > > locks look like they are owned by the rpc.lockd user). Consequently, > > rpc.lockd has to maintain its own state as to who has what locks. > > If this isn't a user/kernel ABI/API problem, it should be easily solvable, > and we should do that following 5.1-RELEASE. This opens up a several cans of worms: 1) Is this going to suck down too much memory? rpc.lockd identifiers can be really long 2) Should the kernel have some mechanism for handling locking Notifiying processes which are waiting for a blocked lock is more efficient as a kernel callback rather than process polling. Is kqueue/kevent sufficient? 3) Should the kernel have some mechanism for modular handling of locking associated with an FS? ie. the ability to pass out NFS locks on say an SMB mounted FS 4) Should duct tape be the solution to NFSv2 and NFSv3 and folks should just move to NFSv4? 5) What is the status of NFSv4? 6) What other FS's need adjustments to the FreeBSD file lock strcutures? I'm certainly not qualified to answer these questions, so I'm going to transfer this message over to fs@freebsd.org in the hope that someone better qualified can provide more insight. -a