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>
This commit is contained in:
NeilBrown 2010-08-12 17:04:07 +10:00 коммит произвёл J. Bruce Fields
Родитель 1ebede86b8
Коммит 8ff30fa4ef
1 изменённых файлов: 5 добавлений и 2 удалений

Просмотреть файл

@ -1031,8 +1031,11 @@ nfsd4_proc_compound(struct svc_rqst *rqstp,
resp->cstate.session = NULL; resp->cstate.session = NULL;
fh_init(&resp->cstate.current_fh, NFS4_FHSIZE); fh_init(&resp->cstate.current_fh, NFS4_FHSIZE);
fh_init(&resp->cstate.save_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. * According to RFC3010, this takes precedence over all other errors.