f2fs:sync with upstream branch

Squashed the following commits:

f2fs: revisit inline_data to avoid data races and potential bugs
f2fs: do not discard data protected by the previous checkpoint
f2fs: flush_dcache_page for inline data
f2fs: call write_checkpoint under disabled gc