libceph: use timespec64 in for keepalive2 and ticket validity
authorArnd Bergmann <arnd@arndb.de>
Fri, 13 Jul 2018 20:18:34 +0000 (22:18 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 2 Aug 2018 19:26:12 +0000 (21:26 +0200)
commit473bd2d780d1699d81b25f57c0ec4de633a28eb8
tree5e7a5a05d3682c1c3e09704263051da78e122c8b
parent67fcd151400242757edbab710402161b2cd38989
libceph: use timespec64 in for keepalive2 and ticket validity

ceph_con_keepalive_expired() is the last user of timespec_add() and some
of the last uses of ktime_get_real_ts().  Replacing this with timespec64
based interfaces  lets us remove that deprecated API.

I'm introducing new ceph_encode_timespec64()/ceph_decode_timespec64()
here that take timespec64 structures and convert to/from ceph_timespec,
which is defined to have an unsigned 32-bit tv_sec member. This extends
the range of valid times to year 2106, avoiding the year 2038 overflow.

The ceph file system portion still uses the old functions for inode
timestamps, this will be done separately after the VFS layer is converted.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
include/linux/ceph/decode.h
include/linux/ceph/messenger.h
net/ceph/auth_x.c
net/ceph/auth_x.h
net/ceph/cls_lock_client.c
net/ceph/messenger.c