From owner-freebsd-stable@FreeBSD.ORG Thu Jan 6 08:10:44 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB380106564A; Thu, 6 Jan 2011 08:10:44 +0000 (UTC) (envelope-from perryh@pluto.rain.com) Received: from agora.rdrop.com (agora.rdrop.com [IPv6:2607:f678:1010::34]) by mx1.freebsd.org (Postfix) with ESMTP id 9A4E48FC15; Thu, 6 Jan 2011 08:10:44 +0000 (UTC) Received: from agora.rdrop.com (66@localhost [127.0.0.1]) by agora.rdrop.com (8.13.1/8.12.7) with ESMTP id p068AbqK035155 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 6 Jan 2011 00:10:38 -0800 (PST) (envelope-from perryh@pluto.rain.com) Received: (from uucp@localhost) by agora.rdrop.com (8.13.1/8.12.9/Submit) with UUCP id p068Ab0I035154; Thu, 6 Jan 2011 00:10:37 -0800 (PST) Received: from fbsd61 by pluto.rain.com (4.1/SMI-4.1-pluto-M2060407) id AA16440; Thu, 6 Jan 11 00:08:26 PST Date: Thu, 06 Jan 2011 00:08:04 -0800 From: perryh@pluto.rain.com To: jhb@freebsd.org Message-Id: <4d257864.YjgoS235V8eKvUX2%perryh@pluto.rain.com> References: <1036681015.111502.1294189339355.JavaMail.root@erie.cs.uoguelph.ca> <4d244e39.KoPcOoMaWed+H5De%perryh@pluto.rain.com> <201101050757.08116.jhb@freebsd.org> In-Reply-To: <201101050757.08116.jhb@freebsd.org> User-Agent: nail 11.25 7/29/05 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: marek_sal@wp.pl, freebsd-stable@freebsd.org, jyavenard@gmail.com, rmacklem@uoguelph.ca, milu@dat.pl Subject: Re: NFSv4 - how to set up at FreeBSD 8.1 ? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Jan 2011 08:10:44 -0000 John Baldwin wrote: > ... even NFS UDP mounts maintain their own set of "socket" state > to manage retries and retransmits for UDP RPCs. Not according to what I remember of the SunOS NFS documentation, which indicated that the driving force behind using UDP instead of TCP was to have the server be _completely_ stateless. (Of course locking is inherently stateful; they made it very clear that the locking protocol was considered to be an adjunct rather than part of the NFS protocol itself.) It's been quite a few years since I read that, and I didn't get into the details, but I suppose the handle returned to a client (in response to a mount or open request) must have contained both a representation of the inode number and a unique identification of the filesystem (so that, in the case where server crash recovery included a newfs and reload from backup, the FS ID would not match and the client would get a "stale handle" response). All of the retry and retransmit burden had to have been managed by the client, for both reading and writing.