Commit 1e968fdf authored by Jaegeuk Kim's avatar Jaegeuk Kim
Browse files

f2fs: introduce f2fs_cp_error for readability



This patch adds f2fs_cp_error for readability.

Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent ed2e621a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -162,7 +162,7 @@ static int f2fs_write_meta_page(struct page *page,
		goto redirty_out;

	/* Should not write any meta pages, if any IO error was occurred */
	if (unlikely(is_set_ckpt_flags(F2FS_CKPT(sbi), CP_ERROR_FLAG)))
	if (unlikely(f2fs_cp_error(sbi)))
		goto no_write;

	f2fs_wait_on_page_writeback(page, META);
@@ -934,7 +934,7 @@ static void do_checkpoint(struct f2fs_sb_info *sbi, bool is_umount)
	/* Here, we only have one bio having CP pack */
	sync_meta_pages(sbi, META_FLUSH, LONG_MAX);

	if (!is_set_ckpt_flags(ckpt, CP_ERROR_FLAG)) {
	if (!f2fs_cp_error(sbi)) {
		clear_prefree_segments(sbi);
		release_dirty_inode(sbi);
		F2FS_RESET_SB_DIRT(sbi);
+5 −0
Original line number Diff line number Diff line
@@ -1096,6 +1096,11 @@ static inline int f2fs_readonly(struct super_block *sb)
	return sb->s_flags & MS_RDONLY;
}

static inline bool f2fs_cp_error(struct f2fs_sb_info *sbi)
{
	return is_set_ckpt_flags(sbi->ckpt, CP_ERROR_FLAG);
}

static inline void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi)
{
	set_ckpt_flags(sbi->ckpt, CP_ERROR_FLAG);
+1 −1
Original line number Diff line number Diff line
@@ -693,7 +693,7 @@ int f2fs_gc(struct f2fs_sb_info *sbi)
gc_more:
	if (unlikely(!(sbi->sb->s_flags & MS_ACTIVE)))
		goto stop;
	if (unlikely(is_set_ckpt_flags(F2FS_CKPT(sbi), CP_ERROR_FLAG)))
	if (unlikely(f2fs_cp_error(sbi)))
		goto stop;

	if (gc_type == BG_GC && has_not_enough_free_secs(sbi, nfree)) {
+1 −1
Original line number Diff line number Diff line
@@ -815,7 +815,7 @@ static int sanity_check_ckpt(struct f2fs_sb_info *sbi)
	if (unlikely(fsmeta >= total))
		return 1;

	if (unlikely(is_set_ckpt_flags(ckpt, CP_ERROR_FLAG))) {
	if (unlikely(f2fs_cp_error(sbi))) {
		f2fs_msg(sbi->sb, KERN_ERR, "A bug case: need to run fsck");
		return 1;
	}