mirror of https://gitee.com/openkylin/linux.git
f2fs: introduce f2fs_change_bit to simplify the change bit logic
Introduce f2fs_change_bit to simplify the change bit logic in function set_to_next_nat{sit}. Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
fa528722d0
commit
c6ac4c0ec4
|
@ -1073,6 +1073,15 @@ static inline int f2fs_clear_bit(unsigned int nr, char *addr)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static inline void f2fs_change_bit(unsigned int nr, char *addr)
|
||||
{
|
||||
int mask;
|
||||
|
||||
addr += (nr >> 3);
|
||||
mask = 1 << (7 - (nr & 0x07));
|
||||
*addr ^= mask;
|
||||
}
|
||||
|
||||
/* used for f2fs_inode_info->flags */
|
||||
enum {
|
||||
FI_NEW_INODE, /* indicate newly allocated inode */
|
||||
|
|
|
@ -192,10 +192,7 @@ static inline void set_to_next_nat(struct f2fs_nm_info *nm_i, nid_t start_nid)
|
|||
{
|
||||
unsigned int block_off = NAT_BLOCK_OFFSET(start_nid);
|
||||
|
||||
if (f2fs_test_bit(block_off, nm_i->nat_bitmap))
|
||||
f2fs_clear_bit(block_off, nm_i->nat_bitmap);
|
||||
else
|
||||
f2fs_set_bit(block_off, nm_i->nat_bitmap);
|
||||
f2fs_change_bit(block_off, nm_i->nat_bitmap);
|
||||
}
|
||||
|
||||
static inline void fill_node_footer(struct page *page, nid_t nid,
|
||||
|
|
|
@ -657,10 +657,7 @@ static inline void set_to_next_sit(struct sit_info *sit_i, unsigned int start)
|
|||
{
|
||||
unsigned int block_off = SIT_BLOCK_OFFSET(start);
|
||||
|
||||
if (f2fs_test_bit(block_off, sit_i->sit_bitmap))
|
||||
f2fs_clear_bit(block_off, sit_i->sit_bitmap);
|
||||
else
|
||||
f2fs_set_bit(block_off, sit_i->sit_bitmap);
|
||||
f2fs_change_bit(block_off, sit_i->sit_bitmap);
|
||||
}
|
||||
|
||||
static inline unsigned long long get_mtime(struct f2fs_sb_info *sbi)
|
||||
|
|
Loading…
Reference in New Issue