]> Pileus Git - ~andy/linux/commitdiff
nfs: reject version and minorversion changes on remount attempts
authorJeff Layton <jlayton@redhat.com>
Fri, 18 Oct 2013 14:03:37 +0000 (10:03 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 28 Oct 2013 18:30:23 +0000 (14:30 -0400)
Reported-by: Eric Doutreleau <edoutreleau@genoscope.cns.fr>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/super.c

index a03b9c6f94895c4bec17b7191aac69a190d3e35f..137572bb7037564095ea33191d2bf8cb4c346db5 100644 (file)
@@ -2143,6 +2143,8 @@ nfs_compare_remount_data(struct nfs_server *nfss,
        if (data->flags != nfss->flags ||
            data->rsize != nfss->rsize ||
            data->wsize != nfss->wsize ||
+           data->version != nfss->nfs_client->rpc_ops->version ||
+           data->minorversion != nfss->nfs_client->cl_minorversion ||
            data->retrans != nfss->client->cl_timeout->to_retries ||
            data->auth_flavors[0] != nfss->client->cl_auth->au_flavor ||
            data->acregmin != nfss->acregmin / HZ ||
@@ -2197,6 +2199,8 @@ nfs_remount(struct super_block *sb, int *flags, char *raw_data)
        data->timeo = 10U * nfss->client->cl_timeout->to_initval / HZ;
        data->nfs_server.port = nfss->port;
        data->nfs_server.addrlen = nfss->nfs_client->cl_addrlen;
+       data->version = nfsvers;
+       data->minorversion = nfss->nfs_client->cl_minorversion;
        memcpy(&data->nfs_server.address, &nfss->nfs_client->cl_addr,
                data->nfs_server.addrlen);