• Chao Yu's avatar
    f2fs: merge flags in struct f2fs_sb_info · caf0047e
    Chao Yu authored
    Currently, there are several variables with Boolean type as below:
    
    struct f2fs_sb_info {
    ...
    	int s_dirty;
    	bool need_fsck;
    	bool s_closing;
    ...
    	bool por_doing;
    ...
    }
    
    For this there are some issues:
    1. there are some space of f2fs_sb_info is wasted due to aligning after Boolean
       type variables by compiler.
    2. if we continuously add new flag into f2fs_sb_info, structure will be messed
       up.
    
    So in this patch, we try to:
    1. switch s_dirty to Boolean type variable since it has two status 0/1.
    2. merge s_dirty/need_fsck/s_closing/por_doing variables into s_flag.
    3. introduce an enum type which can indicate different states of sbi.
    4. use new introduced universal interfaces is_sbi_flag_set/{set,clear}_sbi_flag
       to operate flags for sbi.
    
    After that, above issues will be fixed.
    Signed-off-by: default avatarChao Yu <chao2.yu@samsung.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    caf0047e
recovery.c 13.6 KB