34 lines
1.3 KiB
Diff
34 lines
1.3 KiB
Diff
|
diff --git exfat_super.c exfat_super.c
|
||
|
index 312de36..262b74d 100644
|
||
|
--- exfat_super.c
|
||
|
+++ exfat_super.c
|
||
|
@@ -97,6 +97,11 @@ static int exfat_default_codepage = CONFIG_EXFAT_DEFAULT_CODEPAGE;
|
||
|
static char exfat_default_iocharset[] = CONFIG_EXFAT_DEFAULT_IOCHARSET;
|
||
|
|
||
|
extern struct timezone sys_tz;
|
||
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0)
|
||
|
+#define timespec_compat timespec64
|
||
|
+#else
|
||
|
+#define timespec_compat timespec
|
||
|
+#endif
|
||
|
|
||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,8,0)
|
||
|
#define current_time(x) (CURRENT_TIME_SEC)
|
||
|
@@ -147,7 +152,7 @@ static time_t accum_days_in_year[] = {
|
||
|
static void _exfat_truncate(struct inode *inode, loff_t old_size);
|
||
|
|
||
|
/* Convert a FAT time/date pair to a UNIX date (seconds since 1 1 70). */
|
||
|
-void exfat_time_fat2unix(struct exfat_sb_info *sbi, struct timespec *ts,
|
||
|
+void exfat_time_fat2unix(struct exfat_sb_info *sbi, struct timespec_compat *ts,
|
||
|
DATE_TIME_T *tp)
|
||
|
{
|
||
|
time_t year = tp->Year;
|
||
|
@@ -166,7 +171,7 @@ void exfat_time_fat2unix(struct exfat_sb_info *sbi, struct timespec *ts,
|
||
|
}
|
||
|
|
||
|
/* Convert linear UNIX date to a FAT time/date pair. */
|
||
|
-void exfat_time_unix2fat(struct exfat_sb_info *sbi, struct timespec *ts,
|
||
|
+void exfat_time_unix2fat(struct exfat_sb_info *sbi, struct timespec_compat *ts,
|
||
|
DATE_TIME_T *tp)
|
||
|
{
|