Re: [PATCH 03/17] NFSDv4.2: Added NFS v4.2 support to the NFS server

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 29, 2013 at 08:57:05AM -0400, Steve Dickson wrote:
> From: Steve Dickson <steved@xxxxxxxxxx>
> 
> 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.

We also need one more change to get working 4.2.

--b.

commit e4819461ed826bfafd899eb8719edb15f0fb68f4
Author: J. Bruce Fields <bfields@xxxxxxxxxx>
Date:   Tue May 7 11:57:52 2013 -0400

    nfsd4: store correct client minorversion for >=4.2
    
    This code assumes that any client using exchange_id is using NFSv4.1,
    but with the introduction of 4.2 that's no longer true.
    
    This main effect of this is that client callbacks will use the same
    minorversion as that used on the exchange_id.
    
    Note that clients are forbidden from mixing 4.1 and 4.2 compounds.  (See
    rfc 5661, section 2.7, #13: "A client MUST NOT attempt to use a stateid,
    filehandle, or similar returned object from the COMPOUND procedure with
    minor version X for another COMPOUND procedure with minor version Y,
    where X != Y.")  However, we do not currently attempt to enforce this
    except in the case of mixing zero minor version with non-zero minor
    versions.
    
    Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>

diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 316ec84..91ead0e 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -1709,7 +1709,7 @@ out_new:
 		status = nfserr_jukebox;
 		goto out;
 	}
-	new->cl_minorversion = 1;
+	new->cl_minorversion = cstate->minorversion;
 
 	gen_clid(new, nn);
 	add_to_unconfirmed(new);
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux