lib: use u8/u32/u64 for bit operations
authorJaegeuk Kim <jaegeuk@kernel.org>
Tue, 15 Dec 2015 19:13:25 +0000 (11:13 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 15 Dec 2015 19:15:00 +0000 (11:15 -0800)
This cleans up the bit operations.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fsck/fsck.c
include/f2fs_fs.h
lib/libf2fs.c

index 38391a9..3e67ffc 100644 (file)
@@ -869,8 +869,7 @@ static void convert_encrypted_name(unsigned char *name, int len,
 }
 
 static void print_dentry(__u32 depth, __u8 *name,
-               unsigned char *bitmap,
-               struct f2fs_dir_entry *dentry,
+               u8 *bitmap, struct f2fs_dir_entry *dentry,
                int max, int idx, int last_blk, int encrypted)
 {
        int last_de = 0;
@@ -937,8 +936,7 @@ static int f2fs_check_hash_code(struct f2fs_dir_entry *dentry,
 }
 
 static int __chk_dentries(struct f2fs_sb_info *sbi, struct child_info *child,
-                       unsigned char *bitmap,
-                       struct f2fs_dir_entry *dentry,
+                       u8 *bitmap, struct f2fs_dir_entry *dentry,
                        __u8 (*filenames)[F2FS_SLOT_LEN],
                        int max, int last_blk, int encrypted)
 {
index decc7f4..f9060f2 100644 (file)
@@ -855,16 +855,14 @@ extern int log_base_2(u_int32_t);
 extern unsigned int addrs_per_inode(struct f2fs_inode *);
 
 extern int get_bits_in_byte(unsigned char n);
-extern int test_and_set_bit_le(unsigned int, unsigned char *);
-extern int test_and_clear_bit_le(unsigned int, unsigned char*);
-extern int test_bit_le(unsigned int, const unsigned char *);
+extern int test_and_set_bit_le(u32, u8 *);
+extern int test_and_clear_bit_le(u32, u8 *);
+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 unsigned char *, unsigned long,
-               unsigned long);
-extern unsigned long find_next_zero_bit_le(const unsigned char *, unsigned long,
-               unsigned long);
+extern unsigned long find_next_bit_le(const u8 *, u64, u64);
+extern unsigned long 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);
index ab98a11..e9a1606 100644 (file)
@@ -234,7 +234,7 @@ int get_bits_in_byte(unsigned char n)
        return bits_in_byte[n];
 }
 
-int test_and_set_bit_le(unsigned int nr, unsigned char *addr)
+int test_and_set_bit_le(u32 nr, u8 *addr)
 {
        int mask, retval;
 
@@ -245,7 +245,7 @@ int test_and_set_bit_le(unsigned int nr, unsigned char *addr)
        return retval;
 }
 
-int test_and_clear_bit_le(unsigned int nr, unsigned char *addr)
+int test_and_clear_bit_le(u32 nr, u8 *addr)
 {
        int mask, retval;
 
@@ -256,7 +256,7 @@ int test_and_clear_bit_le(unsigned int nr, unsigned char *addr)
        return retval;
 }
 
-int test_bit_le(unsigned int nr, const unsigned char *addr)
+int test_bit_le(u32 nr, const u8 *addr)
 {
        return ((1 << (nr & 7)) & (addr[nr >> 3]));
 }
@@ -295,7 +295,7 @@ int f2fs_clear_bit(unsigned int nr, char *addr)
        return ret;
 }
 
-static inline unsigned long __ffs(unsigned char word)
+static inline u64 __ffs(u8 word)
 {
        int num = 0;
 
@@ -315,10 +315,9 @@ static inline unsigned long __ffs(unsigned char word)
 /* Copied from linux/lib/find_bit.c */
 #define BITMAP_FIRST_BYTE_MASK(start) (0xff << ((start) & (BITS_PER_BYTE - 1)))
 
-static unsigned long _find_next_bit_le(const unsigned char *addr,
-               unsigned long nbits, unsigned long start, char invert)
+static u64 _find_next_bit_le(const u8 *addr, u64 nbits, u64 start, char invert)
 {
-       unsigned char tmp;
+       u8 tmp;
 
        if (!nbits || start >= nbits)
                return nbits;
@@ -340,15 +339,13 @@ static unsigned long _find_next_bit_le(const unsigned char *addr,
        return min(start + __ffs(tmp), nbits);
 }
 
-unsigned long find_next_bit_le(const unsigned char *addr, unsigned long size,
-               unsigned long offset)
+u64 find_next_bit_le(const u8 *addr, u64 size, u64 offset)
 {
        return _find_next_bit_le(addr, size, offset, 0);
 }
 
 
-unsigned long find_next_zero_bit_le(const unsigned char *addr,
-               unsigned long size, unsigned long offset)
+u64 find_next_zero_bit_le(const u8 *addr, u64 size, u64 offset)
 {
        return _find_next_bit_le(addr, size, offset, 0xff);
 }