aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4state.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2007-11-19 20:31:04 -0500
committerJ. Bruce Fields <bfields@citi.umich.edu>2008-02-01 16:42:05 -0500
commitdeda2faa8e71474c828d8eefc8bc0f19d02062ef (patch)
tree72344206dd12a189e466cde3b479d6dc5ae09843 /fs/nfsd/nfs4state.c
parent49ba87811f34a0219dc7a373cd24aa68450f2058 (diff)
nfsd: uniquify cl_confirm values
Using a counter instead of the nanoseconds value seems more likely to produce a unique cl_confirm. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd/nfs4state.c')
-rw-r--r--fs/nfsd/nfs4state.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 035e70a01027..9f6322e830fa 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -491,15 +491,14 @@ gen_clid(struct nfs4_client *clp) {
491 clp->cl_clientid.cl_id = current_clientid++; 491 clp->cl_clientid.cl_id = current_clientid++;
492} 492}
493 493
494static void 494static void gen_confirm(struct nfs4_client *clp)
495gen_confirm(struct nfs4_client *clp) { 495{
496 struct timespec tv; 496 static u32 i;
497 u32 * p; 497 u32 *p;
498 498
499 tv = CURRENT_TIME;
500 p = (u32 *)clp->cl_confirm.data; 499 p = (u32 *)clp->cl_confirm.data;
501 *p++ = tv.tv_sec; 500 *p++ = get_seconds();
502 *p++ = tv.tv_nsec; 501 *p++ = i++;
503} 502}
504 503
505static int 504static int