fs: sys_sync fix
commite2a60f48bfd758fc85afbd278950e989a9814a50
authorNick Piggin <npiggin@suse.de>
Tue, 6 Jan 2009 22:40:26 +0000 (6 14:40 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 25 Jan 2009 00:36:28 +0000 (24 16:36 -0800)
treeed7c274f1c69091d4b90d9969380c0cb84e2fe53
parent229dfbd9fb66befda9abbc7fd58bb0cafcd4d0d7
fs: sys_sync fix

commit 856bf4d717feb8c55d4e2f817b71ebb70cfbc67b upstream.

s_syncing livelock avoidance was breaking data integrity guarantee of
sys_sync, by allowing sys_sync to skip writing or waiting for superblocks
if there is a concurrent sys_sync happening.

This livelock avoidance is much less important now that we don't have the
get_super_to_sync() call after every sb that we sync.  This was replaced
by __put_super_and_need_restart.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/fs-writeback.c
include/linux/fs.h