LINUX: Update to Linux struct iattr->ia_ctime to timespec64 with 4.18 41/13241/6
authorJoe Gorse <jhgorse@gmail.com>
Mon, 2 Jul 2018 20:36:04 +0000 (20:36 +0000)
committerBenjamin Kaduk <kaduk@mit.edu>
Sat, 28 Jul 2018 19:01:03 +0000 (15:01 -0400)
commit0bc5c15029cf7e720731f1415fcf9dc972d57ef4
treef223be2ba2d306157eff24eb240454ab5afcd2cd
parentee66819a0c1a9efa98b76a1c18af6233bda1e233
LINUX: Update to Linux struct iattr->ia_ctime to timespec64 with 4.18

With 4.18+ Linux kernels we see a transition to 64-bit time stamps by
default.

current_kernel_time() returns the 32-bit struct timespec.
current_kernel_time64() returns the 64-bit struct timespec64.

struct iattr->ia_ctime expects struct timespec64 as of 4.18+.

Timestamps greater than 31-bit rollover after 2147483647 or
January 19, 2038 03:14:07 UTC. This is the same approach taken by
the Linux developers for converting between timepsec64 and timespec.

Change-Id: Icc1cf5d1a6679f5c749f8720f225a9b293f675fd
Reviewed-on: https://gerrit.openafs.org/13241
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/afs/LINUX/osi_file.c
src/cf/linux-kernel-assorted.m4
src/cf/linux-test4.m4