aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r--fs/nfs/nfs4proc.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index ab6b2e5c923e..81ccdbbb43e8 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3908,8 +3908,15 @@ static void nfs4_construct_boot_verifier(struct nfs_client *clp,
3908{ 3908{
3909 __be32 verf[2]; 3909 __be32 verf[2];
3910 3910
3911 verf[0] = (__be32)clp->cl_boot_time.tv_sec; 3911 if (test_bit(NFS4CLNT_PURGE_STATE, &clp->cl_state)) {
3912 verf[1] = (__be32)clp->cl_boot_time.tv_nsec; 3912 /* An impossible timestamp guarantees this value
3913 * will never match a generated boot time. */
3914 verf[0] = 0;
3915 verf[1] = (__be32)(NSEC_PER_SEC + 1);
3916 } else {
3917 verf[0] = (__be32)clp->cl_boot_time.tv_sec;
3918 verf[1] = (__be32)clp->cl_boot_time.tv_nsec;
3919 }
3913 memcpy(bootverf->data, verf, sizeof(bootverf->data)); 3920 memcpy(bootverf->data, verf, sizeof(bootverf->data));
3914} 3921}
3915 3922