f2fs: call write_checkpoint under disabled gc

During the write_checkpoint, we should avoid f2fs_gc trigger to avoid any
filesystem consistency.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: flush_dcache_page for inline data

When reading inline data, we should call flush_dcache_page.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: do not discard data protected by the previous checkpoint

We should not discard any data protected by the previous checkpoint all
the time.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: revisit inline_data to avoid data races and potential bugs

This patch simplifies the inline_data usage with the following rule.
1. inline_data is set during the file creation.
2. If new data is requested to be written ranges out of inline_data,
 f2fs converts that inode permanently.
3. There is no cases which converts non-inline_data inode to inline_data.
4. The inline_data flag should be changed under inode page lock.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Conflicts:
	fs/f2fs/f2fs.h
	fs/f2fs/file.c
	fs/f2fs/inline.c
f2fs:sync with revision branch

Sometime new patches are released, or the repo is rebased,for that reason it is always good to make a squash.
Here switch back from test_and_clear_bit_le to clear_bit_le since it has been backported.
manta:OC:corrected ppl that way higher frequencies should be more stable

Thank to sergi and ktoonsez
manta_defconfig:compiling now intelliactive