forked from luck/tmp_suning_uos_patched
f2fs: unify f2fs_bug_on when check blocks and segment
Replace BUG_ON with f2fs_bug_on to deal with block and segment validity check failed. Signed-off-by: Xue Liu <liuxueliu.liu@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
f3f338caad
commit
7a04f64d4d
@ -555,16 +555,15 @@ static inline unsigned short curseg_blkoff(struct f2fs_sb_info *sbi, int type)
|
|||||||
return curseg->next_blkoff;
|
return curseg->next_blkoff;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_F2FS_CHECK_FS
|
|
||||||
static inline void check_seg_range(struct f2fs_sb_info *sbi, unsigned int segno)
|
static inline void check_seg_range(struct f2fs_sb_info *sbi, unsigned int segno)
|
||||||
{
|
{
|
||||||
BUG_ON(segno > TOTAL_SEGS(sbi) - 1);
|
f2fs_bug_on(sbi, segno > TOTAL_SEGS(sbi) - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void verify_block_addr(struct f2fs_sb_info *sbi, block_t blk_addr)
|
static inline void verify_block_addr(struct f2fs_sb_info *sbi, block_t blk_addr)
|
||||||
{
|
{
|
||||||
BUG_ON(blk_addr < SEG0_BLKADDR(sbi));
|
f2fs_bug_on(sbi, blk_addr < SEG0_BLKADDR(sbi)
|
||||||
BUG_ON(blk_addr >= MAX_BLKADDR(sbi));
|
|| blk_addr >= MAX_BLKADDR(sbi));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -577,12 +576,11 @@ static inline void check_block_count(struct f2fs_sb_info *sbi,
|
|||||||
int valid_blocks = 0;
|
int valid_blocks = 0;
|
||||||
int cur_pos = 0, next_pos;
|
int cur_pos = 0, next_pos;
|
||||||
|
|
||||||
/* check segment usage */
|
/* check segment usage, and check boundary of a given segment number */
|
||||||
BUG_ON(GET_SIT_VBLOCKS(raw_sit) > sbi->blocks_per_seg);
|
f2fs_bug_on(sbi, GET_SIT_VBLOCKS(raw_sit) > sbi->blocks_per_seg
|
||||||
|
|| segno > TOTAL_SEGS(sbi) - 1);
|
||||||
/* check boundary of a given segment number */
|
|
||||||
BUG_ON(segno > TOTAL_SEGS(sbi) - 1);
|
|
||||||
|
|
||||||
|
#ifdef CONFIG_F2FS_CHECK_FS
|
||||||
/* check bitmap with valid block count */
|
/* check bitmap with valid block count */
|
||||||
do {
|
do {
|
||||||
if (is_valid) {
|
if (is_valid) {
|
||||||
@ -598,35 +596,8 @@ static inline void check_block_count(struct f2fs_sb_info *sbi,
|
|||||||
is_valid = !is_valid;
|
is_valid = !is_valid;
|
||||||
} while (cur_pos < sbi->blocks_per_seg);
|
} while (cur_pos < sbi->blocks_per_seg);
|
||||||
BUG_ON(GET_SIT_VBLOCKS(raw_sit) != valid_blocks);
|
BUG_ON(GET_SIT_VBLOCKS(raw_sit) != valid_blocks);
|
||||||
}
|
|
||||||
#else
|
|
||||||
static inline void check_seg_range(struct f2fs_sb_info *sbi, unsigned int segno)
|
|
||||||
{
|
|
||||||
if (segno > TOTAL_SEGS(sbi) - 1)
|
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void verify_block_addr(struct f2fs_sb_info *sbi, block_t blk_addr)
|
|
||||||
{
|
|
||||||
if (blk_addr < SEG0_BLKADDR(sbi) || blk_addr >= MAX_BLKADDR(sbi))
|
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Summary block is always treated as an invalid block
|
|
||||||
*/
|
|
||||||
static inline void check_block_count(struct f2fs_sb_info *sbi,
|
|
||||||
int segno, struct f2fs_sit_entry *raw_sit)
|
|
||||||
{
|
|
||||||
/* check segment usage */
|
|
||||||
if (GET_SIT_VBLOCKS(raw_sit) > sbi->blocks_per_seg)
|
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
|
||||||
|
|
||||||
/* check boundary of a given segment number */
|
|
||||||
if (segno > TOTAL_SEGS(sbi) - 1)
|
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static inline pgoff_t current_sit_addr(struct f2fs_sb_info *sbi,
|
static inline pgoff_t current_sit_addr(struct f2fs_sb_info *sbi,
|
||||||
unsigned int start)
|
unsigned int start)
|
||||||
|
Loading…
Reference in New Issue
Block a user