linux_dsm_epyc7002/include/linux/sunrpc
Arnd Bergmann f559935e7c nfs: use time64_t internally
The timestamps for the cache are all in boottime seconds, so they
don't overflow 32-bit values, but the use of time_t is deprecated
because it generally does overflow when used with wall-clock time.

There are multiple possible ways of avoiding it:

- leave time_t, which is safe here, but forces others to
  look into this code to determine that it is over and over.

- use a more generic type, like 'int' or 'long', which is known
  to be sufficient here but loses the documentation of referring
  to timestamps

- use ktime_t everywhere, and convert into seconds in the few
  places where we want realtime-seconds. The conversion is
  sometimes expensive, but not more so than the conversion we
  do today.

- use time64_t to clarify that this code is safe. Nothing would
  change for 64-bit architectures, but it is slightly less
  efficient on 32-bit architectures.

Without a clear winner of the three approaches above, this picks
the last one, favouring readability over a small performance
loss on 32-bit architectures.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-12-18 18:07:32 +01:00
..
addr.h
auth_gss.h sunrpc: remove __KERNEL__ ifdefs 2019-11-12 11:43:29 -05:00
auth.h sunrpc: remove __KERNEL__ ifdefs 2019-11-12 11:43:29 -05:00
bc_xprt.h SUNRPC: Destroy the back channel when we destroy the host transport 2019-10-30 12:04:35 -04:00
cache.h nfs: use time64_t internally 2019-12-18 18:07:32 +01:00
clnt.h This is a relatively quiet cycle for nfsd, mainly various bugfixes. 2019-12-07 16:56:00 -08:00
debug.h
gss_api.h sunrpc: convert to time64_t for expiry 2019-12-18 18:07:32 +01:00
gss_asn1.h
gss_err.h sunrpc: remove __KERNEL__ ifdefs 2019-11-12 11:43:29 -05:00
gss_krb5_enctypes.h SUNRPC: Add build option to disable support for insecure enctypes 2019-02-13 13:33:12 -05:00
gss_krb5.h sunrpc: convert to time64_t for expiry 2019-12-18 18:07:32 +01:00
metrics.h SUNRPC: Count ops completing with tk_status < 0 2019-07-06 14:54:51 -04:00
msg_prot.h sunrpc: remove __KERNEL__ ifdefs 2019-11-12 11:43:29 -05:00
rpc_pipe_fs.h sunrpc: remove __KERNEL__ ifdefs 2019-11-12 11:43:29 -05:00
rpc_rdma.h
sched.h NFS Client Updates for Linux 5.3 2019-09-26 12:20:14 -07:00
stats.h
svc_rdma.h svcrdma: Use llist for managing cache of recv_ctxts 2019-08-19 10:59:28 -04:00
svc_xprt.h SUNRPC: Cache the process user cred in the RPC server listener 2019-04-24 09:46:35 -04:00
svc.h SUNRPC: Allow further customisation of RPC program registration 2019-04-24 09:46:35 -04:00
svcauth_gss.h sunrpc: remove __KERNEL__ ifdefs 2019-11-12 11:43:29 -05:00
svcauth.h sunrpc: remove __KERNEL__ ifdefs 2019-11-12 11:43:29 -05:00
svcsock.h SUNRPC: Cache the process user cred in the RPC server listener 2019-04-24 09:46:35 -04:00
timer.h
types.h
xdr.h sunrpc: remove __KERNEL__ ifdefs 2019-11-12 11:43:29 -05:00
xprt.h This is a relatively quiet cycle for nfsd, mainly various bugfixes. 2019-12-07 16:56:00 -08:00
xprtmultipath.h SUNRPC: Add basic load balancing to the transport switch 2019-07-06 14:54:49 -04:00
xprtrdma.h xprtrdma: Boost client's max slot table size to match Linux server 2019-08-20 11:17:16 -04:00
xprtsock.h This is a relatively quiet cycle for nfsd, mainly various bugfixes. 2019-12-07 16:56:00 -08:00