--- lin_tape-3.0.33/lin_tape_ioctl_tape.c~ 2019-03-10 18:06:13.000000000 +0100 +++ lin_tape-3.0.33/lin_tape_ioctl_tape.c 2019-03-10 18:11:48.544963300 +0100 @@ -23,6 +23,7 @@ #include "ibmekm/inc/dd_event.h" #include "lin_tape_scsi_tape.h" #include +#include /***************************************************************************** * * @@ -2825,7 +2826,16 @@ if(rc != STATUS_SUCCESS) goto EXIT_LABEL; memset(tv, '\0', sizeof(struct timeval)); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) do_gettimeofday(tv); +#else + struct timespec64 __now__; + + ktime_get_real_ts64(&__now__); + + tv->tv_sec = __now__.tv_sec, + tv->tv_usec = __now__.tv_nsec/1000, +#endif /* tv.sec in structure timeval is a "long" integer * it has 4 bytes in 32-bit kernel, but 8 bytes in 64-bit kernel @@ -8843,7 +8853,16 @@ /* get time info to set TOD */ memset(tv, '\0', sizeof(struct timeval)); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0) do_gettimeofday(tv); +#else + struct timespec64 __now__; + + ktime_get_real_ts64(&__now__); + + tv->tv_sec = __now__.tv_sec, + tv->tv_usec = __now__.tv_nsec/1000, +#endif /* tv.sec in structure timeval is a "long" integer * it has 4 bytes in 32-bit kernel, but 8 bytes in 64-bit kernel