f2fs: merge flags in struct f2fs_sb_info
authorChao Yu <chao2.yu@samsung.com>
Wed, 28 Jan 2015 09:48:42 +0000 (17:48 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 12 Feb 2015 01:04:38 +0000 (17:04 -0800)
commitcaf0047e7e1e60a7ad1d655d3b81b32e2dfb6095
tree0d4725d944d54b437ac3fd7218794773197b1c2a
parent88dd8934194f6d1db7f824c03d1eee169cb891b0
f2fs: merge flags in struct f2fs_sb_info

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: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/checkpoint.c
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/f2fs/node.c
fs/f2fs/recovery.c
fs/f2fs/segment.h
fs/f2fs/super.c
include/trace/events/f2fs.h