]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
writeback: Move I_DIRTY_PAGES handling
authorJan Kara <jack@suse.cz>
Thu, 3 May 2012 12:47:57 +0000 (14:47 +0200)
committerZefan Li <lizefan@huawei.com>
Tue, 14 Apr 2015 09:33:40 +0000 (17:33 +0800)
commit4dc54f7a72ad145f774ad78b4c0af12fc9ab28e0
treee76de7b0117b56582c510f3285cabbedb0b8cf7d
parent073b1bc26cdc00a47a6ee2eb52d757b3dd27ef28
writeback: Move I_DIRTY_PAGES handling

commit 6290be1c1dc6589eeda213aa40946b27fa4faac8 upstream.

Instead of clearing I_DIRTY_PAGES and resetting it when we didn't succeed in
writing them all, just clear the bit only when we succeeded writing all the
pages. We also move the clearing of the bit close to other i_state handling to
separate it from writeback list handling. This is desirable because list
handling will differ for flusher thread and other writeback_single_inode()
callers in future. No filesystem plays any tricks with I_DIRTY_PAGES (like
checking it in ->writepages or ->write_inode implementation) so this movement
is safe.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Zefan Li <lizefan@huawei.com>
fs/fs-writeback.c