4410d0fcd8395f537cdf5ae5a8bc6f19aff2606c
[openwrt/staging/hauke.git] / package / utils / f2fs-tools / patches / 010-fsck-Fix-big-endian-platforms.patch
1 From 46772bbf0d978512423923da461ceb6b6e791c91 Mon Sep 17 00:00:00 2001
2 From: Rosen Penev <rosenp@gmail.com>
3 Date: Fri, 7 Dec 2018 17:39:03 -0800
4 Subject: [PATCH] fsck: Fix big endian platforms
5
6 Since "fsck.f2fs: integrate sanity_check_inode to __check_inode_mode",
7 big endian platforms have been broken due to an endianness bug.
8
9 More info: https://github.com/openwrt/openwrt/pull/1575
10
11 Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 ---
13 fsck/fsck.c | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16 --- a/fsck/fsck.c
17 +++ b/fsck/fsck.c
18 @@ -339,7 +339,7 @@ out:
19 return ret;
20 }
21
22 -static int __check_inode_mode(u32 nid, enum FILE_TYPE ftype, u32 mode)
23 +static int __check_inode_mode(u32 nid, enum FILE_TYPE ftype, u16 mode)
24 {
25 if (ftype >= F2FS_FT_MAX)
26 return 0;
27 @@ -457,7 +457,7 @@ static int sanity_check_nid(struct f2fs_
28 return 0;
29
30 if (ntype == TYPE_INODE &&
31 - __check_inode_mode(nid, ftype, le32_to_cpu(node_blk->i.i_mode)))
32 + __check_inode_mode(nid, ftype, le16_to_cpu(node_blk->i.i_mode)))
33 return -EINVAL;
34
35 /* workaround to fix later */