I have finally found the time to convert all of NFS away from using time_t derived data structures to (mostly) time64_t, unifying the behavior between 32-bit and 64-bit architectures and paving the way to removing the old time_t definition from the kernel.
Please review and test. This may be a little late for linux-5.5, but I hope to get it all into linux-5.6 once all review comments are addressed.
Arnd
Arnd Bergmann (19): sunrpc: convert to time64_t for expiry nfs: use time64_t internally nfs: use timespec64 in nfs_fattr nfs: callback: use timespec64 in cb_getattrres nfs: fscache: use timespec64 in inode auxdata nfs: remove timespec from xdr_encode_nfstime nfs: encode nfsv4 timestamps as 64-bit nfsd: use ktime_get_seconds() for timestamps nfsd: print 64-bit timestamps in client_info_show nfsd: handle nfs3 timestamps as unsigned nfsd: use timespec64 in encode_time_delta nfsd: make 'boot_time' 64-bit wide nfsd: pass a 64-bit guardtime to nfsd_setattr() nfsd: use time64_t in nfsd_proc_setattr() check nfsd: fix delay timer on 32-bit architectures nfsd: fix jiffies/time_t mixup in LRU list nfsd: use boottime for lease expiry alculation nfsd: use ktime_get_real_seconds() in nfs4_verifier nfsd: remove nfs4_reset_lease() declarations
fs/nfs/callback.h | 4 +- fs/nfs/callback_proc.c | 4 +- fs/nfs/callback_xdr.c | 6 +-- fs/nfs/fscache-index.c | 6 ++- fs/nfs/fscache.c | 18 ++++--- fs/nfs/fscache.h | 8 ++-- fs/nfs/inode.c | 54 ++++++++++----------- fs/nfs/internal.h | 6 +-- fs/nfs/nfs2xdr.c | 33 ++++++------- fs/nfs/nfs3xdr.c | 14 ++---- fs/nfs/nfs4xdr.c | 35 +++++++------- fs/nfsd/netns.h | 6 +-- fs/nfsd/nfs3xdr.c | 20 ++++---- fs/nfsd/nfs4callback.c | 7 ++- fs/nfsd/nfs4layouts.c | 2 +- fs/nfsd/nfs4proc.c | 2 +- fs/nfsd/nfs4recover.c | 8 ++-- fs/nfsd/nfs4state.c | 68 +++++++++++++-------------- fs/nfsd/nfs4xdr.c | 4 +- fs/nfsd/nfsctl.c | 6 +-- fs/nfsd/nfsd.h | 2 - fs/nfsd/nfsfh.h | 4 +- fs/nfsd/nfsproc.c | 6 +-- fs/nfsd/state.h | 10 ++-- fs/nfsd/vfs.c | 4 +- fs/nfsd/vfs.h | 2 +- fs/nfsd/xdr3.h | 2 +- include/linux/nfs_fs_sb.h | 2 +- include/linux/nfs_xdr.h | 14 +++--- include/linux/sunrpc/cache.h | 42 +++++++++-------- include/linux/sunrpc/gss_api.h | 4 +- include/linux/sunrpc/gss_krb5.h | 2 +- net/sunrpc/auth_gss/gss_krb5_mech.c | 12 +++-- net/sunrpc/auth_gss/gss_krb5_seal.c | 8 ++-- net/sunrpc/auth_gss/gss_krb5_unseal.c | 6 +-- net/sunrpc/auth_gss/gss_krb5_wrap.c | 16 +++---- net/sunrpc/auth_gss/gss_mech_switch.c | 2 +- net/sunrpc/auth_gss/svcauth_gss.c | 6 +-- net/sunrpc/cache.c | 18 +++---- net/sunrpc/svcauth_unix.c | 10 ++-- 40 files changed, 243 insertions(+), 240 deletions(-)