From d2b16a59d567135c683cd28906de6086e40ec880 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 9 Dec 2018 19:58:21 -0800 Subject: f2fs-tools: Update to 1.12.0 Added two upstream mailing list patches that fix behavior under big endian systems. Issue was present since version 1.11.0. Tested on Turris Omnia. Original discussion: https://github.com/openwrt/openwrt/pull/1575 Signed-off-by: Rosen Penev --- .../010-fsck-Fix-big-endian-platforms.patch | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 package/utils/f2fs-tools/patches/010-fsck-Fix-big-endian-platforms.patch (limited to 'package/utils/f2fs-tools/patches/010-fsck-Fix-big-endian-platforms.patch') diff --git a/package/utils/f2fs-tools/patches/010-fsck-Fix-big-endian-platforms.patch b/package/utils/f2fs-tools/patches/010-fsck-Fix-big-endian-platforms.patch new file mode 100644 index 0000000000..4410d0fcd8 --- /dev/null +++ b/package/utils/f2fs-tools/patches/010-fsck-Fix-big-endian-platforms.patch @@ -0,0 +1,35 @@ +From 46772bbf0d978512423923da461ceb6b6e791c91 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Fri, 7 Dec 2018 17:39:03 -0800 +Subject: [PATCH] fsck: Fix big endian platforms + +Since "fsck.f2fs: integrate sanity_check_inode to __check_inode_mode", +big endian platforms have been broken due to an endianness bug. + +More info: https://github.com/openwrt/openwrt/pull/1575 + +Signed-off-by: Rosen Penev +--- + fsck/fsck.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/fsck/fsck.c ++++ b/fsck/fsck.c +@@ -339,7 +339,7 @@ out: + return ret; + } + +-static int __check_inode_mode(u32 nid, enum FILE_TYPE ftype, u32 mode) ++static int __check_inode_mode(u32 nid, enum FILE_TYPE ftype, u16 mode) + { + if (ftype >= F2FS_FT_MAX) + return 0; +@@ -457,7 +457,7 @@ static int sanity_check_nid(struct f2fs_ + return 0; + + if (ntype == TYPE_INODE && +- __check_inode_mode(nid, ftype, le32_to_cpu(node_blk->i.i_mode))) ++ __check_inode_mode(nid, ftype, le16_to_cpu(node_blk->i.i_mode))) + return -EINVAL; + + /* workaround to fix later */ -- cgit v1.2.3