]>
Commit | Line | Data |
---|---|---|
9547e94c SL |
1 | From 7ad1b3cfd1989edaa716a4bf979a5396a77a5a15 Mon Sep 17 00:00:00 2001 |
2 | From: Tahsin Erdogan <tahsin@google.com> | |
3 | Date: Tue, 16 Feb 2016 13:34:39 -0800 | |
4 | Subject: writeback: initialize inode members that track writeback history | |
5 | ||
6 | [ Upstream commit 3d65ae4634ed8350aee98a4e6f4e41fe40c7d282 ] | |
7 | ||
8 | inode struct members that track cgroup writeback information | |
9 | should be reinitialized when inode gets allocated from | |
10 | kmem_cache. Otherwise, their values remain and get used by the | |
11 | new inode. | |
12 | ||
13 | Signed-off-by: Tahsin Erdogan <tahsin@google.com> | |
14 | Acked-by: Tejun Heo <tj@kernel.org> | |
15 | Fixes: d10c80955265 ("writeback: implement foreign cgroup inode bdi_writeback switching") | |
16 | Signed-off-by: Jens Axboe <axboe@fb.com> | |
17 | Signed-off-by: Sasha Levin <sashal@kernel.org> | |
18 | --- | |
19 | fs/inode.c | 6 ++++++ | |
20 | 1 file changed, 6 insertions(+) | |
21 | ||
22 | diff --git a/fs/inode.c b/fs/inode.c | |
23 | index a39c2724d8a0..b5c3a6473aaa 100644 | |
24 | --- a/fs/inode.c | |
25 | +++ b/fs/inode.c | |
26 | @@ -154,6 +154,12 @@ int inode_init_always(struct super_block *sb, struct inode *inode) | |
27 | inode->i_rdev = 0; | |
28 | inode->dirtied_when = 0; | |
29 | ||
30 | +#ifdef CONFIG_CGROUP_WRITEBACK | |
31 | + inode->i_wb_frn_winner = 0; | |
32 | + inode->i_wb_frn_avg_time = 0; | |
33 | + inode->i_wb_frn_history = 0; | |
34 | +#endif | |
35 | + | |
36 | if (security_inode_alloc(inode)) | |
37 | goto out; | |
38 | spin_lock_init(&inode->i_lock); | |
39 | -- | |
40 | 2.19.1 | |
41 |