All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benny Halevy <bhalevy@panasas.com>
To: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: linux-nfs@vger.kernel.org, pnfs@linux-nfs.org
Subject: Re: [PATCH 05/46] nfs41: add mount command option minorversion
Date: Mon, 30 Mar 2009 11:01:18 +0300	[thread overview]
Message-ID: <49D07C4E.3000508@panasas.com> (raw)
In-Reply-To: <1238343501.10999.6.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>

On Mar. 29, 2009, 19:18 +0300, Trond Myklebust <Trond.Myklebust@netapp.com> wrote:
> On Tue, 2009-03-03 at 16:52 -0700, Benny Halevy wrote:
>> From: Mike Sager <sager@netapp.com>
>>
>> mount -t nfs4 -o minorversion=[0|1] specifies whether to use 4.0 or
>> 4.1.
>> By default, the minorversion is set to 0.
>>
>> Signed-off-by: Mike Sager <sager@netapp.com>
>> [set default minorversion to 0 as per Trond and SteveD's request]
>> Signed-off-by: Benny Halevy <bhalevy@panasas.com>
>> ---
>>  fs/nfs/internal.h |    1 +
>>  fs/nfs/super.c    |   10 ++++++++++
>>  2 files changed, 11 insertions(+), 0 deletions(-)
>>
>> diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
>> index 340ede8..73e4d9f 100644
>> --- a/fs/nfs/internal.h
>> +++ b/fs/nfs/internal.h
>> @@ -41,6 +41,7 @@ struct nfs_parsed_mount_data {
>>         unsigned int            auth_flavor_len;
>>         rpc_authflavor_t        auth_flavors[1];
>>         char                    *client_address;
>> +       unsigned int            minorversion;
>>
>>         struct {
>>                 struct sockaddr_storage address;
>> diff --git a/fs/nfs/super.c b/fs/nfs/super.c
>> index d6686f4..5db4e3b 100644
>> --- a/fs/nfs/super.c
>> +++ b/fs/nfs/super.c
>> @@ -88,6 +88,7 @@ enum {
>>         Opt_mountport,
>>         Opt_mountvers,
>>         Opt_nfsvers,
>> +       Opt_minorversion,
>>
>>         /* Mount options that take string arguments */
>>         Opt_sec, Opt_proto, Opt_mountproto, Opt_mounthost,
>> @@ -149,6 +150,7 @@ static const match_table_t nfs_mount_option_tokens
>> = {
>>         { Opt_mountvers, "mountvers=%u" },
>>         { Opt_nfsvers, "nfsvers=%u" },
>>         { Opt_nfsvers, "vers=%u" },
>> +       { Opt_minorversion, "minorversion=%u" },
>>
>>         { Opt_sec, "sec=%s" },
>>         { Opt_proto, "proto=%s" },
>> @@ -1168,6 +1170,13 @@ static int nfs_parse_mount_options(char *raw,
>>                                 nfs_parse_invalid_value("nfsvers");
>>                         }
>>                         break;
>> +               case Opt_minorversion:
>> +                       if (match_int(args, &option))
>> +                               return 0;
>> +                       if (option < 0 || option >
>> NFS4_MAX_MINOR_VERSION)
>> +                               return 0;
>> +                       mnt->minorversion = option;
> 
> There is nothing preventing the user from setting this on NFSv2 or
> NFSv3. That will cause nfs_match_client() to get confused. 

Not really, because nfs_init_server ignores it.
The question still is whether we should prevent the user from
setting it for NFSv[23].  FWIW, we don't do that kind of validation
for other mount options, e.g. those referring to the mount protocol.

Benny

> 
>> +                       break;
>>
>>                 /*
>>                  * options that take text values
>> @@ -2218,6 +2227,7 @@ static int nfs4_validate_mount_data(void
>> *options,
>>         args->nfs_server.port   = NFS_PORT; /* 2049 unless user set
>> port= */
>>         args->auth_flavors[0]   = RPC_AUTH_UNIX;
>>         args->auth_flavor_len   = 0;
>> +       args->minorversion      = 0;
>>
>>         switch (data->version) {
>>         case 1:
>> --
>> 1.6.1.3
>>
>>
>>

  parent reply	other threads:[~2009-03-30  8:02 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-03 23:28 [PATCH 0/46] nfs41 sessions infrastructure Benny Halevy
2009-03-03 23:51 ` [PATCH 02/46] nfs41: Add Kconfig symbols for NFSv4.1 Benny Halevy
2009-03-03 23:52 ` [PATCH 03/46] nfs41: define NFS4_MAX_MINOR_VERSION based on CONFIG_NFS_V4_1 Benny Halevy
2009-03-03 23:52 ` [PATCH 04/46] nfs41: nfs_client.cl_minorversion Benny Halevy
2009-03-29 16:02   ` Trond Myklebust
     [not found]     ` <1238342562.10999.0.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-03-29 16:57       ` Benny Halevy
2009-03-03 23:52 ` [PATCH 05/46] nfs41: add mount command option minorversion Benny Halevy
2009-03-29 16:18   ` Trond Myklebust
     [not found]     ` <1238343501.10999.6.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-03-30  8:01       ` Benny Halevy [this message]
2009-03-03 23:52 ` [PATCH 06/46] nfs41: Use mount minorversion option Benny Halevy
2009-03-29 16:16   ` Trond Myklebust
2009-03-03 23:52 ` [PATCH 07/46] nfs41: translate NFS4ERR_MINOR_VERS_MISMATCH to EPROTONOSUPPORT Benny Halevy
2009-03-03 23:53 ` [PATCH 08/46] nfs41: client xdr definitions Benny Halevy
2009-03-03 23:53 ` [PATCH 09/46] nfs41: sessions client infrastructure Benny Halevy
2009-03-29 16:31   ` Trond Myklebust
     [not found]     ` <1238344265.10999.14.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-03-30  8:30       ` Benny Halevy
2009-03-03 23:53 ` [PATCH 10/46] nfs41: find slot Benny Halevy
2009-03-03 23:53 ` [PATCH 11/46] nfs41: free slot Benny Halevy
2009-03-03 23:53 ` [PATCH 12/46] nfs41: use nfs4_server_caps_arg Benny Halevy
2009-03-03 23:54 ` [PATCH 13/46] nfs41: use nfs4_readlink_res Benny Halevy
2009-03-03 23:54 ` [PATCH 14/46] nfs41: use nfs4_statfs_res Benny Halevy
2009-03-03 23:54 ` [PATCH 15/46] nfs41: use nfs4_fsinfo_res Benny Halevy
2009-03-03 23:54 ` [PATCH 16/46] nfs41: use nfs4_pathconf_res Benny Halevy
2009-03-03 23:54 ` [PATCH 17/46] nfs41: use nfs4_getaclres Benny Halevy
2009-03-29 17:28   ` Trond Myklebust
     [not found]     ` <1238347692.10999.16.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-03-30  8:47       ` Benny Halevy
2009-03-03 23:55 ` [PATCH 18/46] NFS: get rid of unused xdr decode_setattr(, res) argument Benny Halevy
2009-03-03 23:55 ` [PATCH 19/46] nfs41: use nfs4_setaclres Benny Halevy
2009-03-29 17:30   ` Trond Myklebust
     [not found]     ` <1238347823.10999.17.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-03-29 17:48       ` Benny Halevy
2009-03-03 23:55 ` [PATCH 20/46] nfs41: use nfs4_fs_locations_res Benny Halevy
2009-03-03 23:55 ` [PATCH 21/46] sunrpc: add cl_private field to struct rpc_clnt Benny Halevy
2009-03-03 23:55 ` [PATCH 22/46] nfs41: sunrpc: use private void pointer in rpc_clnt Benny Halevy
2009-03-03 23:57 ` [PATCH 23/46] nfs41: encode minorversion in compound header Benny Halevy
2009-03-03 23:57 ` [PATCH 24/46] NFS: fix decode_fs_locations_maxsz Benny Halevy
2009-03-29 17:40   ` Trond Myklebust
     [not found]     ` <1238348417.23986.1.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-03-30 11:32       ` Benny Halevy
2009-03-03 23:58 ` [PATCH 25/46] NFS: use decode_change_info_maxsz for xdr maxsz calculations Benny Halevy
2009-03-03 23:58 ` [PATCH 26/46] NFS: define and initialize compound_hdr.replen Benny Halevy
2009-03-03 23:58 ` [PATCH 27/46] NFS: update hdr->replen for every encode op Benny Halevy
2009-03-29 17:46   ` Trond Myklebust
     [not found]     ` <1238348809.23986.4.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-03-29 19:25       ` Benny Halevy
2009-03-03 23:58 ` [PATCH 28/46] NFS: use dynamically computed compound_hdr.replen for xdr_inline_pages offset Benny Halevy
2009-03-29 19:30   ` [pnfs] " Benny Halevy
2009-03-30 12:40   ` Benny Halevy
2009-03-03 23:58 ` [PATCH 29/46] nfs41: xdr {encode,decode}_sequence Benny Halevy
2009-03-03 23:59 ` [PATCH 30/46] nfs41: stubs for nfs41 procedures Benny Halevy
2009-03-03 23:59 ` [PATCH 31/46] nfs41: introduce nfs4_call_sync Benny Halevy
2009-03-03 23:59 ` [PATCH 32/46] nfs41: set up seq_res.sr_slotid Benny Halevy
2009-03-03 23:59 ` [PATCH 33/46] nfs41: nfs4_setup_sequence Benny Halevy
2009-03-04  0:00 ` [PATCH 34/46] nfs41: setup_sequence method Benny Halevy
2009-03-04  0:00 ` [PATCH 35/46] nfs41: nfs41_sequence_free_slot Benny Halevy
2009-03-04  0:00 ` [PATCH 36/46] nfs41: nfs41_sequence_done Benny Halevy
2009-03-04  0:00 ` [PATCH 37/46] nfs41: nfs41_call_sync_done Benny Halevy
2009-03-04  0:00 ` [PATCH 38/46] nfs41: close sequence setup/done support Benny Halevy
2009-03-04  0:01 ` [PATCH 39/46] nfs41: open " Benny Halevy
2009-03-04  0:01 ` [PATCH 40/46] nfs41: lock " Benny Halevy
2009-03-04  0:01 ` [PATCH 41/46] nfs41: locku " Benny Halevy
2009-03-04  0:01 ` [PATCH 42/46] nfs41: unlink " Benny Halevy
2009-03-04  0:01 ` [PATCH 43/46] nfs41: read " Benny Halevy
2009-03-04  0:01 ` [PATCH 44/46] nfs41 write sequence setup done support Benny Halevy
2009-03-04  0:02 ` [PATCH 45/46] nfs41 commit " Benny Halevy
2009-03-04  0:02 ` [PATCH 46/46] nfs41 delegreturn " Benny Halevy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49D07C4E.3000508@panasas.com \
    --to=bhalevy@panasas.com \
    --cc=Trond.Myklebust@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=pnfs@linux-nfs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.