When compiling f2fs toolset in 32-bits machine, following error was reported:
libf2fs.c:342:5: error: conflicting types for 'find_next_bit_le' ../include/f2fs_fs.h:864:22: note: previous declaration of 'find_next_bit_le' was here libf2fs.c:348:5: error: conflicting types for 'find_next_zero_bit_le' ../include/f2fs_fs.h:865:22: note: previous declaration of 'find_next_zero_bit_le' was here This is because our type of return value(u64 in define) and (unsigned long in declaration) of find_next_{,zero_}bit_le were not same in non-64-bits machine: extern unsigned long find_next_bit_le(const u8 *, u64, u64); u64 find_next_bit_le(const u8 *addr, u64 size, u64 offset) Fix it. Signed-off-by: Chao Yu <chao2...@samsung.com> --- include/f2fs_fs.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h index f9060f2..e1eeb6e 100644 --- a/include/f2fs_fs.h +++ b/include/f2fs_fs.h @@ -861,8 +861,8 @@ extern int test_bit_le(u32, const u8 *); extern int f2fs_test_bit(unsigned int, const char *); extern int f2fs_set_bit(unsigned int, char *); extern int f2fs_clear_bit(unsigned int, char *); -extern unsigned long find_next_bit_le(const u8 *, u64, u64); -extern unsigned long find_next_zero_bit_le(const u8 *, u64, u64); +extern u64 find_next_bit_le(const u8 *, u64, u64); +extern u64 find_next_zero_bit_le(const u8 *, u64, u64); extern u_int32_t f2fs_cal_crc32(u_int32_t, void *, int); extern int f2fs_crc_valid(u_int32_t blk_crc, void *buf, int len); -- 2.6.3 ------------------------------------------------------------------------------ _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel