f2fs: don't wait writeback for datas during checkpoint
authorChao Yu <yuchao0@huawei.com>
Wed, 16 Nov 2016 02:41:20 +0000 (10:41 +0800)
committerJaegeuk Kim <jaegeuk@google.com>
Mon, 25 Sep 2017 22:36:50 +0000 (15:36 -0700)
commit9e266223b33dac867e29e7d0393e363ff86e092a
treee447c2eda51168f0cf2e2b21140a68df3156afd3
parentdf3f20f12b9fcf4c93706ac24edcb6a3ff9f58a5
f2fs: don't wait writeback for datas during checkpoint

commit 36951b38d13ac7cce9fcf89e0e01c22ed0d05688 upstream.

Normally, while committing checkpoint, we will wait on all pages to be
writebacked no matter the page is data or metadata, so in scenario where
there are lots of data IO being submitted with metadata, we may suffer
long latency for waiting writeback during checkpoint.

Indeed, we only care about persistence for pages with metadata, but not
pages with data, as file system consistent are only related to metadate,
so in order to avoid encountering long latency in above scenario, let's
recognize and reference metadata in submitted IOs, wait writeback only
for metadatas.

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