writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()
authorJan Kara <jack@suse.cz>
Thu, 3 May 2012 12:47:56 +0000 (14:47 +0200)
committerFengguang Wu <fengguang.wu@intel.com>
Sun, 6 May 2012 05:43:38 +0000 (13:43 +0800)
commitcc1676d917f32504dbadc858fa790bc524c9f0da
treed665d5ad0a844a6b1aff74deb4c8aa01c7596135
parent365b94ae67d2915d412b593d47449a6bffed9d37
writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()

When writeback_single_inode() is called on inode which has I_SYNC already
set while doing WB_SYNC_NONE, inode is moved to b_more_io list. However
this makes sense only if the caller is flusher thread. For other callers of
writeback_single_inode() it doesn't really make sense and may be even wrong
- flusher thread may be doing WB_SYNC_ALL writeback in parallel.

So we move requeueing from writeback_single_inode() to writeback_sb_inodes().

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
fs/fs-writeback.c
include/trace/events/writeback.h