From patchwork Mon Nov 19 15:43:30 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Dickson X-Patchwork-Id: 1765521 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 4C2F6DF264 for ; Mon, 19 Nov 2012 15:48:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753310Ab2KSPsQ (ORCPT ); Mon, 19 Nov 2012 10:48:16 -0500 Received: from 183.141.211.66.inaddr.G4.NET ([66.211.141.183]:46121 "EHLO Dobby.4dicksons.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752229Ab2KSPsQ (ORCPT ); Mon, 19 Nov 2012 10:48:16 -0500 Received: from tophat.home.4dicksons.org ([192.168.62.20]) by Dobby.4dicksons.org with esmtp (Exim 4.63) (envelope-from ) id 1TaTa2-0003mK-7L for linux-nfs@vger.kernel.org; Mon, 19 Nov 2012 10:48:14 -0500 From: Steve Dickson To: Linux NFS Mailing List Subject: [RFC PATCH V2] mount: Added the -o v4.1 mount option Date: Mon, 19 Nov 2012 10:43:30 -0500 Message-Id: <1353339810-19126-1-git-send-email-steved@redhat.com> X-Mailer: git-send-email 1.7.11.7 X-Spam-Score: -2.9 (--) Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org This patch will convert -o v4.1, vers=4.1 or nfsvers=4.1 into the corresponding "v4,minorversion=1", "vers=4,minorversion=1" or "nfsvers=4,minorversion=1" options. Signed-off-by: Steve Dickson --- utils/mount/network.c | 18 ++++++++++++++++-- utils/mount/nfs.man | 13 +++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/utils/mount/network.c b/utils/mount/network.c index e7bd522..36aa03b 100644 --- a/utils/mount/network.c +++ b/utils/mount/network.c @@ -94,6 +94,7 @@ static const char *nfs_version_opttbl[] = { "v2", "v3", "v4", + "v4.1", "vers", "nfsvers", NULL, @@ -1244,11 +1245,20 @@ nfs_nfs_version(struct mount_options *options, unsigned long *version) case 2: /* v4 */ *version = 4; return 1; - case 3: /* vers */ + case 3: /* v4.1 */ + *version = 4; + po_remove_all(options, "v4.1"); + po_append(options, "v4,minorversion=1"); + return 1; + case 4: /* vers */ switch (po_get_numeric(options, "vers", &tmp)) { case PO_FOUND: if (tmp >= 2 && tmp <= 4) { *version = tmp; + if (strcmp(po_get(options, "vers"), "4.1") == 0) { + po_remove_all(options, "vers"); + po_append(options, "vers=4,minorversion=1"); + } return 1; } return 0; @@ -1261,11 +1271,15 @@ nfs_nfs_version(struct mount_options *options, unsigned long *version) progname); return 0; } - case 4: /* nfsvers */ + case 5: /* nfsvers */ switch (po_get_numeric(options, "nfsvers", &tmp)) { case PO_FOUND: if (tmp >= 2 && tmp <= 4) { *version = tmp; + if (strcmp(po_get(options, "nfsvers"), "4.1") == 0) { + po_remove_all(options, "nfsvers"); + po_append(options, "nfsvers=4,minorversion=1"); + } return 1; } return 0; diff --git a/utils/mount/nfs.man b/utils/mount/nfs.man index c15de98..8d1bb56 100644 --- a/utils/mount/nfs.man +++ b/utils/mount/nfs.man @@ -762,6 +762,19 @@ by 'nolock'/'lock' mount option. Use these options, along with the options in the first subsection above, for NFS version 4 and newer. .TP 1.5i +.BI minorversion= n +Specifies the protocol minor version number. +NFSv4 introduces "minor versioning," where NFS protocol enhancements can +be introduced without bumping the NFS protocol version number. +.IP +The minor version can also be be specified using the +.B vers= +option. +For example, specifying +.B vers=4.1 +is the same as specifying +.BR vers=4,minorversion=1 . +.TP 1.5i .BI proto= netid The .I netid