OSDN Git Service

f2fs: fix to reorder set_page_dirty and wait_on_page_writeback
authorChao Yu <yuchao0@huawei.com>
Wed, 12 Dec 2018 10:12:30 +0000 (18:12 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 3 Jan 2019 00:17:33 +0000 (16:17 -0800)
commitb7b4be291325639ab9c2676c38d373356eaa5520
tree28f6f164ca9d6d11e1942eb512e5db2ade882f9d
parent7c3f76cff3c4768665a34d1a9cddf70db11a67fa
f2fs: fix to reorder set_page_dirty and wait_on_page_writeback

This patch reorders flow from

- update page
- set_page_dirty
- wait_on_page_writeback

to

- wait_on_page_writeback
- update page
- set_page_dirty

The reason is:
- set_page_dirty will increase reference of dirty page, the reference
should be cleared before wait_on_page_writeback to keep its consistency.
- some devices need stable page during page writebacking, so we
should not change page's data.

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