]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "writeback: do not sync data dirtied after sync start"
authorJan Kara <jack@suse.cz>
Fri, 21 Feb 2014 10:19:04 +0000 (11:19 +0100)
committerJan Kara <jack@suse.cz>
Sat, 22 Feb 2014 01:02:28 +0000 (02:02 +0100)
commitfacb44483ee54b26e8c936c4f1522cc6953cb5ea
tree66b8f3ebdd4a6c0de6f82e449c7e037170e26b81
parentc66b9dde9dd2d145208ab3bc47820871a853e71c
Revert "writeback: do not sync data dirtied after sync start"

This reverts commit 481b48bd1d645e34f34289a25ea4fb1bd3fc6556. Dave
Chinner <david@fromorbit.com> has reported the commit may cause some
inodes to be left out from sync(2). This is because we can call
redirty_tail() for some inode (which sets i_dirtied_when to current time)
after sync(2) has started or similarly requeue_inode() can set
i_dirtied_when to current time if writeback had to skip some pages. The
real problem is in the functions clobbering i_dirtied_when but fixing
that isn't trivial so revert is a safer choice for now.

CC: stable@vger.kernel.org # >= 3.13
Signed-off-by: Jan Kara <jack@suse.cz>
fs/fs-writeback.c
fs/sync.c
fs/xfs/xfs_super.c
include/linux/writeback.h
include/trace/events/writeback.h