Skip to content

Commit

Permalink
exfat-nofuse: fix compile error on kernel 4.18+
Browse files Browse the repository at this point in the history
Source: dorimanx/exfat-nofuse#137

Signed-off-by: Deng Qingfang <[email protected]>
  • Loading branch information
dengqf6 committed Dec 18, 2018
1 parent 7059ebf commit fda1433
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 2 deletions.
4 changes: 2 additions & 2 deletions kernel/exfat-nofuse/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ PKG_RELEASE:=1

PKG_SOURCE_URL:=https://github.com/dorimanx/exfat-nofuse.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2018-04-17
PKG_SOURCE_DATE:=2018-08-18
PKG_SOURCE_VERSION:=01c30ad52625a7261e1b0d874553b6ca7af25966
PKG_MIRROR_HASH:=47e3b6b8384e4beaa07dc762f4e0cce9a067750cbb4b2fb4ba18d2348038c270
PKG_MIRROR_HASH:=e4d5148ea619e94ff39352ad29b790d1674502e1875be2f176caa5d1ecaacc0e

PKG_MAINTAINER:=Yousong Zhou <[email protected]>
PKG_LICENSE:=GPL-2.0
Expand Down
35 changes: 35 additions & 0 deletions kernel/exfat-nofuse/patches/000-fix-compile-on-kernel-4.18.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
diff --git a/exfat_super.c b/exfat_super.c
index 312de36..79ff5f9 100644
--- a/exfat_super.c
+++ b/exfat_super.c
@@ -102,6 +102,12 @@ extern struct timezone sys_tz;
#define current_time(x) (CURRENT_TIME_SEC)
#endif

+#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, 16, 0)
#define USE_NEW_IVERSION_API
#define INC_IVERSION(x) (inode_inc_iversion(x))
@@ -147,7 +153,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 +172,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)
{
time_t second = ts->tv_sec;

0 comments on commit fda1433

Please sign in to comment.