|
@@ -0,0 +1,35 @@
|
|
|
|
|
+From 46772bbf0d978512423923da461ceb6b6e791c91 Mon Sep 17 00:00:00 2001
|
|
|
|
|
+From: Rosen Penev <[email protected]>
|
|
|
|
|
+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 <[email protected]>
|
|
|
|
|
+---
|
|
|
|
|
+ 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 */
|