summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/node.c
diff options
context:
space:
mode:
authorYufen Yu2018-01-09 12:33:39 +0100
committerJaegeuk Kim2018-01-17 00:40:01 +0100
commit578c647879f74c333d20762375fd970907f2e97c (patch)
treef210806961bad512719f9e9d94cea6826a9e86c2 /fs/f2fs/node.c
parentf2fs: remove unused pend_list_tag (diff)
downloadkernel-qcow2-linux-578c647879f74c333d20762375fd970907f2e97c.tar.gz
kernel-qcow2-linux-578c647879f74c333d20762375fd970907f2e97c.tar.xz
kernel-qcow2-linux-578c647879f74c333d20762375fd970907f2e97c.zip
f2fs: implement cgroup writeback support
Cgroup writeback requires explicit support from the filesystem. f2fs's data and node writeback IOs go through __write_data_page, which sets fio for submiting IOs. So, we add io_wbc for fio, associate bios with blkcg by invoking wbc_init_bio() and account IOs issuing by wbc_account_io(). In addtion, f2fs_fill_super() is updated to set SB_I_CGROUPWB. Meta writeback IOs is left alone by this patch and will always be attributed to the root cgroup. The results show that f2fs can throttle writeback nicely for data writing and file creating. Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Yufen Yu <yuyufen@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/node.c')
-rw-r--r--fs/f2fs/node.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index b495a543819c..ea29314ca8a3 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1335,6 +1335,7 @@ static int __write_node_page(struct page *page, bool atomic, bool *submitted,
.encrypted_page = NULL,
.submitted = false,
.io_type = io_type,
+ .io_wbc = wbc,
};
trace_f2fs_writepage(page, NODE);