From cdb36a52534520c8f4c54e8cef9e6ba952528a27 Mon Sep 17 00:00:00 2001 From: Nick Piggin Date: Tue, 6 Jan 2009 14:40:26 -0800 Subject: [PATCH] --- yaml --- r: 126254 b: refs/heads/master c: 856bf4d717feb8c55d4e2f817b71ebb70cfbc67b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/fs-writeback.c | 20 +------------------- trunk/include/linux/fs.h | 1 - 3 files changed, 2 insertions(+), 21 deletions(-) diff --git a/[refs] b/[refs] index 30cfe507cadf..a6ed4d97cdbb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 38f21977663126fef53f5585e7f1653d8ebe55c4 +refs/heads/master: 856bf4d717feb8c55d4e2f817b71ebb70cfbc67b diff --git a/trunk/fs/fs-writeback.c b/trunk/fs/fs-writeback.c index a9ee474f9691..e5eaa62fd17f 100644 --- a/trunk/fs/fs-writeback.c +++ b/trunk/fs/fs-writeback.c @@ -652,18 +652,6 @@ void sync_inodes_sb(struct super_block *sb, int wait) sync_sb_inodes(sb, &wbc); } -/* - * Rather lame livelock avoidance. - */ -static void set_sb_syncing(int val) -{ - struct super_block *sb; - spin_lock(&sb_lock); - list_for_each_entry_reverse(sb, &super_blocks, s_list) - sb->s_syncing = val; - spin_unlock(&sb_lock); -} - /** * sync_inodes - writes all inodes to disk * @wait: wait for completion @@ -690,9 +678,6 @@ static void __sync_inodes(int wait) spin_lock(&sb_lock); restart: list_for_each_entry(sb, &super_blocks, s_list) { - if (sb->s_syncing) - continue; - sb->s_syncing = 1; sb->s_count++; spin_unlock(&sb_lock); down_read(&sb->s_umount); @@ -710,13 +695,10 @@ static void __sync_inodes(int wait) void sync_inodes(int wait) { - set_sb_syncing(0); __sync_inodes(0); - if (wait) { - set_sb_syncing(0); + if (wait) __sync_inodes(1); - } } /** diff --git a/trunk/include/linux/fs.h b/trunk/include/linux/fs.h index fb59673c60b1..d7eba77f666e 100644 --- a/trunk/include/linux/fs.h +++ b/trunk/include/linux/fs.h @@ -1133,7 +1133,6 @@ struct super_block { struct rw_semaphore s_umount; struct mutex s_lock; int s_count; - int s_syncing; int s_need_sync_fs; atomic_t s_active; #ifdef CONFIG_SECURITY