From patchwork Fri Feb 22 15:26:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Fields X-Patchwork-Id: 2176341 Return-Path: X-Original-To: patchwork-linux-nfs@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 03EA0DFABD for ; Fri, 22 Feb 2013 15:26:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757218Ab3BVP0F (ORCPT ); Fri, 22 Feb 2013 10:26:05 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59435 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757033Ab3BVP0E (ORCPT ); Fri, 22 Feb 2013 10:26:04 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r1MFQ3D6023792 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 22 Feb 2013 10:26:04 -0500 Received: from pad.fieldses.org (vpn-48-141.rdu2.redhat.com [10.10.48.141]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r1MFQ3Nf023358; Fri, 22 Feb 2013 10:26:03 -0500 Received: by pad.fieldses.org (Postfix, from userid 2815) id 0CDF91A0EDD; Fri, 22 Feb 2013 10:26:03 -0500 (EST) Date: Fri, 22 Feb 2013 10:26:03 -0500 From: "J. Bruce Fields" To: Steve Dickson Cc: Trond Myklebust , Linux NFS Mailing list Subject: Re: [PATCH 2/2] NFSDv4.2: Added NFS v4.2 support to the NFS server Message-ID: <20130222152548.GB10157@pad.fieldses.org> References: <1361484911-17537-1-git-send-email-steved@redhat.com> <1361484911-17537-3-git-send-email-steved@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1361484911-17537-3-git-send-email-steved@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On Thu, Feb 21, 2013 at 05:15:11PM -0500, Steve Dickson wrote: > This enable NFSv4.2 support for the server. To enable this > code do the following: > echo "+4.2" >/proc/fs/nfsd/versions > > after the nfsd kernel module is loaded. > > Signed-off-by: Steve Dickson > --- > fs/nfsd/nfs4xdr.c | 1 + > fs/nfsd/nfsd.h | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c > index d2ae8db..86be853 100644 > --- a/fs/nfsd/nfs4xdr.c > +++ b/fs/nfsd/nfs4xdr.c > @@ -1621,6 +1621,7 @@ struct nfsd4_minorversion_ops { > static struct nfsd4_minorversion_ops nfsd4_minorversion[] = { > [0] = { nfsd4_dec_ops, ARRAY_SIZE(nfsd4_dec_ops) }, > [1] = { nfsd41_dec_ops, ARRAY_SIZE(nfsd41_dec_ops) }, > + [2] = { nfsd41_dec_ops, ARRAY_SIZE(nfsd41_dec_ops) }, > }; > > static __be32 > diff --git a/fs/nfsd/nfsd.h b/fs/nfsd/nfsd.h > index 26a457b..0e3ccd1 100644 > --- a/fs/nfsd/nfsd.h > +++ b/fs/nfsd/nfsd.h > @@ -24,7 +24,7 @@ > /* > * nfsd version > */ > -#define NFSD_SUPPORTED_MINOR_VERSION 1 > +#define NFSD_SUPPORTED_MINOR_VERSION 2 > /* > * Maximum blocksizes supported by daemon under various circumstances. > */ Looks OK to me, except this should be behind a config for now. On a grep for "minorversion" I notice two oversights, below: one just a comment, one might result in getting the wrong minorversion on callbacks. --b. --- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 503e15e..b86cf07 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -1665,7 +1665,7 @@ out_new: status = nfserr_jukebox; goto out; } - new->cl_minorversion = 1; + new->cl_minorversion = cstate->minorversion; gen_clid(new); add_to_unconfirmed(new, strhashval); diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h index e036894..28d41ef 100644 --- a/fs/nfsd/state.h +++ b/fs/nfsd/state.h @@ -108,7 +108,7 @@ struct nfs4_cb_conn { u32 cb_prog; /* used only in 4.0 case; per-session otherwise */ u32 cb_ident; /* minorversion 0 only */ - struct svc_xprt *cb_xprt; /* minorversion 1 only */ + struct svc_xprt *cb_xprt; /* minorversion >=1 only */ }; static inline struct nfs4_delegation *delegstateid(struct nfs4_stid *s)