aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2012-05-25 21:40:23 -0400
committerJ. Bruce Fields <bfields@redhat.com>2012-05-31 20:30:27 -0400
commit778df3f0feaeb03ebf9f370cba8437491ffa889f (patch)
treed1459666a0db61d07c631787b446243a8c1ae08a /fs/nfsd
parentnfsd4: fix exchange_id to return confirm flag (diff)
downloadlinux-dev-778df3f0feaeb03ebf9f370cba8437491ffa889f.tar.xz
linux-dev-778df3f0feaeb03ebf9f370cba8437491ffa889f.zip
nfsd4: return "real" sequence id in confirmed case
The client should ignore the returned sequence_id in the case where the CONFIRMED flag is set on an exchange_id reply--and in the unconfirmed case "1" is always the right response. So it shouldn't actually matter what we return here. We could continue returning 1 just to catch clients ignoring the spec here, but I'd rather be generous. Other things equal, returning the existing sequence_id seems more informative. 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 83a68983aa26..e0ed84d17aa8 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -1650,7 +1650,7 @@ out_copy:
exid->clientid.cl_boot = new->cl_clientid.cl_boot;
exid->clientid.cl_id = new->cl_clientid.cl_id;
- exid->seqid = 1;
+ exid->seqid = new->cl_cs_slot.sl_seqid + 1;
nfsd4_set_ex_flags(new, exid);
dprintk("nfsd4_exchange_id seqid %d flags %x\n",