diff options
author | Chris Dunlop <[email protected]> | 2011-12-06 15:29:58 +1100 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-12-12 11:06:03 -0800 |
commit | 791dc876eb59f1543fee0bcfc1a97691c643ea3c (patch) | |
tree | ea8111a84bf24c8bac55a1bf0c2d980b69a15e61 | |
parent | e05bec805b066e72266281a03e57e61e7dd53264 (diff) |
Allow 64-bit timestamps to be set on 64-bit kernels
ZFS and 64-bit linux are perfectly capable of dealing with 64-bit
timestamps, but ZFS deliberately prevents setting them. Adjust
the SPL such that TIMESPEC_OVERFLOW will not always assume 32-bit
values and instead use the correct values for your kernel build.
This effectively allows 64-bit timestamps on 64-bit systems.
Signed-off-by: Brian Behlendorf <[email protected]>
Closes ZFS issue #487
-rw-r--r-- | include/sys/time.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/include/sys/time.h b/include/sys/time.h index ed3aae934..341b531ef 100644 --- a/include/sys/time.h +++ b/include/sys/time.h @@ -34,8 +34,13 @@ #include <sys/types.h> #include <sys/timer.h> -#define TIME32_MAX INT32_MAX -#define TIME32_MIN INT32_MIN +#if defined(CONFIG_64BIT) +#define TIME_MAX INT64_MAX +#define TIME_MIN INT64_MIN +#else +#define TIME_MAX INT32_MAX +#define TIME_MIN INT32_MIN +#endif #define SEC 1 #define MILLISEC 1000 @@ -83,6 +88,6 @@ gethrestime_sec(void) } #define TIMESPEC_OVERFLOW(ts) \ - ((ts)->tv_sec < TIME32_MIN || (ts)->tv_sec > TIME32_MAX) + ((ts)->tv_sec < TIME_MIN || (ts)->tv_sec > TIME_MAX) #endif /* _SPL_TIME_H */ |