diff options
author | NeilBrown <neilb@suse.de> | 2010-08-12 09:04:07 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2010-09-21 23:02:27 +0200 |
commit | 8ff30fa4eff2ff9e207961c654caa093f0c84873 (patch) | |
tree | b25fcb36bf2b276566a69b031b2baea8e216725a /fs/nfsd | |
parent | sunrpc: close connection when a request is irretrievably lost. (diff) | |
download | linux-8ff30fa4eff2ff9e207961c654caa093f0c84873.tar.xz linux-8ff30fa4eff2ff9e207961c654caa093f0c84873.zip |
nfsd: disable deferral for NFSv4
Now that a slight delay in getting a reply to an upcall doesn't
require deferring of requests, request deferral for all NFSv4
requests - the concept doesn't really fit with the v4 model.
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/nfs4proc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 59ec449b0c7f..0cdfd022bb7b 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1031,8 +1031,11 @@ nfsd4_proc_compound(struct svc_rqst *rqstp, resp->cstate.session = NULL; fh_init(&resp->cstate.current_fh, NFS4_FHSIZE); fh_init(&resp->cstate.save_fh, NFS4_FHSIZE); - /* Use the deferral mechanism only for NFSv4.0 compounds */ - rqstp->rq_usedeferral = (args->minorversion == 0); + /* + * Don't use the deferral mechanism for NFSv4; compounds make it + * too hard to avoid non-idempotency problems. + */ + rqstp->rq_usedeferral = 0; /* * According to RFC3010, this takes precedence over all other errors. |