From owner-freebsd-fs@FreeBSD.ORG Mon Sep 14 13:13:29 2009 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AF17106566B; Mon, 14 Sep 2009 13:13:29 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id EFC0B8FC0C; Mon, 14 Sep 2009 13:13:28 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 8FB9E46B1A; Mon, 14 Sep 2009 09:13:28 -0400 (EDT) Received: from jhbbsd.hudson-trading.com (unknown [209.249.190.8]) by bigwig.baldwin.cx (Postfix) with ESMTPA id D2ADF8A01B; Mon, 14 Sep 2009 09:13:27 -0400 (EDT) From: John Baldwin To: freebsd-fs@freebsd.org Date: Mon, 14 Sep 2009 08:32:27 -0400 User-Agent: KMail/1.9.7 References: <20090913202350.GE2091@garage.freebsd.pl> In-Reply-To: <20090913202350.GE2091@garage.freebsd.pl> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200909140832.27956.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Mon, 14 Sep 2009 09:13:27 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,RDNS_NONE autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: Pawel Jakub Dawidek Subject: Re: Review request for NFS readdirplus change. X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Sep 2009 13:13:29 -0000 On Sunday 13 September 2009 4:23:50 pm Pawel Jakub Dawidek wrote: > Hi. > > I'm looking for a review of the following patch: > > http://people.freebsd.org/~pjd/patches/nfs_serv.c.3.patch > > The main purpose of this patch is to support stuff like ZFS, where using > VFS_VGET() might be tricky on .zfs/ directory and friends. When > VFS_VGET() is not supported be the underlying file system, we switch to > VOP_LOOKUP(). Note that OpenSolaris NFS server implementation always > uses lookup for readdirplus. > > I also modified the code to use shared-locking, there is no need to > exclusively lock the vnodes. > > The patch removes an assert which doesn't hold for ZFS when we go into > .zfs/snapshot// directory, which is separate mount point, but we > don't want to export it separately, so we still return it on lookup. I don't think you need the trailing '\' before a split expression when building cn_flags. Other than that I think it looks ok from what I can see (but I am far less familiar with the NFS server than the NFS client). Also, you might want to patch the new NFS server as well as the old one (or ask Rick about the new one). -- John Baldwin