From owner-freebsd-hackers@FreeBSD.ORG Wed May 10 22:36:49 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 33F3016A7F8 for ; Wed, 10 May 2006 22:36:49 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D5DF43D48 for ; Wed, 10 May 2006 22:36:44 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [10.10.3.185] ([69.15.205.254]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id k4AMaUGs003151; Wed, 10 May 2006 16:36:31 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <44626AE8.8060102@samsco.org> Date: Wed, 10 May 2006 16:36:24 -0600 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060206 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Andrey Simonenko References: <20060421095610.GA1137@pm513-1.comsys.ntu-kpi.kiev.ua> In-Reply-To: <20060421095610.GA1137@pm513-1.comsys.ntu-kpi.kiev.ua> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.0 required=3.8 tests=none autolearn=failed version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on pooker.samsco.org Cc: freebsd-hackers@freebsd.org Subject: Re: Atomic updates of NFS export lists X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 May 2006 22:36:49 -0000 Andrey Simonenko wrote: > Greetings, > > In my environment non-atomic updates of NFS export lists are not > acceptable. So, I decided to correct this problem. As the result > mountd, kern/vfs_export.c were completely rewritten, mount.h, > vfs_mount.c and nfs_srvsubs.c also got changes. > > For details see kern/9619. > I've been looking at this since my company is also running into these problems. I've integrated your patchset into my tree, and I'll let you know how it works after a few days of testing. One thing to note is that you've significantly re-written much of mountd, as well as changed the API/ABI a bit and removed some command line switches. That makes it less attractive for inclusion in RELENG_6, but is fine for 7-CURRENT. With that in mind, you should switch over to using nmount() instead of mount(), that way you can completely remove the per-filesystem handling code that you added. If there is any way that you can trim the changes to just implement the new export primitives and leave out the libsock stuff, it would be much easier to justify getting into RELENG_6. I don't have an opinion on the libsock design, but you should talk to people like Robert Watson about that before this goes into 7-CURRENT. But thank you very much for this. It was a pleasant surprise to see this after I had been talking to others about exactly these problems for a few weeks. Hopefully we can get this integrated into FreeBSD soon. Scott