fs: sys_sync fix
commitd2845ee1312cf822ab0d04b91e80a3cfb1d9166f
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:41:52 +0000 (24 16:41 -0800)
treea7d6eab81bab1c73b2836c7dab9804c428922f25
parente782d5e42a1ada8df4aa0665d9f21f1ddbc24320
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