1234567891011121314151617181920212223242526272829303132333435 |
- From 46772bbf0d978512423923da461ceb6b6e791c91 Mon Sep 17 00:00:00 2001
- From: Rosen Penev <rosenp@gmail.com>
- 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/librecmc/librecmc/pull/1575
- Signed-off-by: Rosen Penev <rosenp@gmail.com>
- ---
- 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 */
|