diff options
-rw-r--r-- | fs/nfsd/nfs4state.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index f924f0618cb5..1f4b85b15125 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -1508,7 +1508,12 @@ unhash_session(struct nfsd4_session *ses) | |||
1508 | static int | 1508 | static int |
1509 | STALE_CLIENTID(clientid_t *clid, struct nfsd_net *nn) | 1509 | STALE_CLIENTID(clientid_t *clid, struct nfsd_net *nn) |
1510 | { | 1510 | { |
1511 | if (clid->cl_boot == nn->boot_time) | 1511 | /* |
1512 | * We're assuming the clid was not given out from a boot | ||
1513 | * precisely 2^32 (about 136 years) before this one. That seems | ||
1514 | * a safe assumption: | ||
1515 | */ | ||
1516 | if (clid->cl_boot == (u32)nn->boot_time) | ||
1512 | return 0; | 1517 | return 0; |
1513 | dprintk("NFSD stale clientid (%08x/%08x) boot_time %08lx\n", | 1518 | dprintk("NFSD stale clientid (%08x/%08x) boot_time %08lx\n", |
1514 | clid->cl_boot, clid->cl_id, nn->boot_time); | 1519 | clid->cl_boot, clid->cl_id, nn->boot_time); |