summaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2013-05-07 17:57:52 +0200
committerJ. Bruce Fields <bfields@redhat.com>2013-05-13 16:11:45 +0200
commit4f540e29dc20b87d460559bce184d2238237f48b (patch)
tree813343718bf8df56efbef3f30313f55ccfad3e7b /fs/nfsd
parentnfsd: get rid of the unused functions in vfs (diff)
downloadlinux-4f540e29dc20b87d460559bce184d2238237f48b.tar.xz
linux-4f540e29dc20b87d460559bce184d2238237f48b.zip
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 will 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@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4state.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 316ec843dec2..91ead0ed9f11 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);