mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 15:49:42 -04:00
staging/lustre: use 64-bit computation in s2dhms()
The s2dhms computes the day/hour/minute/second values from a time_t, which stops working in 2038. This changes the code to take a time64_t argument, and use div_u64_rem() to implement the first division. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1f4fc343c0
commit
23d9a0467c
@@ -359,10 +359,12 @@ struct obd_histogram;
|
||||
struct dhms {
|
||||
int d, h, m, s;
|
||||
};
|
||||
static inline void s2dhms(struct dhms *ts, time_t secs)
|
||||
|
||||
static inline void s2dhms(struct dhms *ts, time64_t secs64)
|
||||
{
|
||||
ts->d = secs / 86400;
|
||||
secs = secs % 86400;
|
||||
unsigned int secs;
|
||||
|
||||
ts->d = div_u64_rem(secs64, 86400, &secs);
|
||||
ts->h = secs / 3600;
|
||||
secs = secs % 3600;
|
||||
ts->m = secs / 60;
|
||||
|
||||
Reference in New Issue
Block a user