summaryrefslogtreecommitdiff
path: root/kernel/sysctl.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2015-03-17 12:23:19 -0400
committerTheodore Ts'o <tytso@mit.edu>2015-03-17 12:23:19 -0400
commita2f4870697a5bcf4a87073ec6b32dd2928c1211d (patch)
tree9be7de5dabd5b2f6ba96088d043b4a0c9b1cc510 /kernel/sysctl.c
parent13a7a6ac0a11197edcd0f756a035f472b42cdf8b (diff)
downloadlwn-a2f4870697a5bcf4a87073ec6b32dd2928c1211d.tar.gz
lwn-a2f4870697a5bcf4a87073ec6b32dd2928c1211d.zip
fs: make sure the timestamps for lazytime inodes eventually get written
Jan Kara pointed out that if there is an inode which is constantly getting dirtied with I_DIRTY_PAGES, an inode with an updated timestamp will never be written since inode->dirtied_when is constantly getting updated. We fix this by adding an extra field to the inode, dirtied_time_when, so inodes with a stale dirtytime can get detected and handled. In addition, if we have a dirtytime inode caused by an atime update, and there is no write activity on the file system, we need to have a secondary system to make sure these inodes get written out. We do this by setting up a second delayed work structure which wakes up the CPU much more rarely compared to writeback_expire_centisecs. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'kernel/sysctl.c')
0 files changed, 0 insertions, 0 deletions