f2fs: fix to let checkpoint guarantee atomic page persistence
authorChao Yu <yuchao0@huawei.com>
Tue, 8 May 2018 06:06:03 +0000 (14:06 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 28 Jun 2018 22:49:24 +0000 (15:49 -0700)
commit9af9ec1b6cf52920a7a3b8299a9d0de88aa59d0d
treec7f62564f12568608bd39129677f4abe3b5481b6
parentd5f8aab3aee8923a06f22cbb4fc6b44115662464
f2fs: fix to let checkpoint guarantee atomic page persistence

1. thread A: commit_inmem_pages submit data into block layer, but
haven't waited it writeback.
2. thread A: commit_inmem_pages update related node.
3. thread B: do checkpoint, flush all nodes to disk.
4. SPOR

Then, atomic file becomes corrupted since nodes is flushed before data.

This patch fixes to treat atomic page as checkpoint guaranteed one,
then in checkpoint, we can make sure all atomic page can be writebacked
with metadata of atomic file.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c