OSDN Git Service

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>
Mon, 9 Jul 2018 00:30:06 +0000 (17:30 -0700)
commit9bb4d22cf5de448a6d5ebad67f7b8a27c9eacd0a
tree749d80226fec6409c1c0fbc6f1a28ea4c43e11d8
parentcdcf2b3e2559797ad166d6fbf8206dc13ff25c4e
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