mirror of
https://github.com/torvalds/linux.git
synced 2025-11-08 20:49:35 +02:00
o2hb_elapsed_msecs computes the time taken for a disk heartbeat.
'struct timeval' variables are used to store start and end times. On
32-bit systems, the 'tv_sec' component of 'struct timeval' will overflow
in year 2038 and beyond.
This patch solves the overflow with the following:
1. Replace o2hb_elapsed_msecs using 'ktime_t' values to measure start
and end time, and built-in function 'ktime_ms_delta' to compute the
elapsed time. ktime_get_real() is used since the code prints out the
wallclock time.
2. Changes format string to print time as a single 64-bit nanoseconds
value ("%lld") instead of seconds and microseconds. This simplifies
the code since converting ktime_t to that format would need expensive
computation. However, the debug log string is less readable than the
previous format.
Signed-off-by: Tina Ruchandani <ruchandani.tina@gmail.com>
Suggested by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Mark Fasheh <mfasheh@suse.de>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|---|---|---|
| .. | ||
| heartbeat.c | ||
| heartbeat.h | ||
| Makefile | ||
| masklog.c | ||
| masklog.h | ||
| netdebug.c | ||
| nodemanager.c | ||
| nodemanager.h | ||
| ocfs2_heartbeat.h | ||
| ocfs2_nodemanager.h | ||
| quorum.c | ||
| quorum.h | ||
| sys.c | ||
| sys.h | ||
| tcp.c | ||
| tcp.h | ||
| tcp_internal.h | ||