From 6754af64641e8224c281ee5714e012e3ed41f701 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Mon, 22 Mar 2010 20:09:33 -0400 Subject: Convert simple loops over superblocks to list_for_each_entry_safe Signed-off-by: Al Viro --- fs/super.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'fs/super.c') diff --git a/fs/super.c b/fs/super.c index ba99524998f..ccb2b5fa89b 100644 --- a/fs/super.c +++ b/fs/super.c @@ -395,11 +395,10 @@ EXPORT_SYMBOL(drop_super); */ void sync_supers(void) { - struct super_block *sb; + struct super_block *sb, *n; spin_lock(&sb_lock); -restart: - list_for_each_entry(sb, &super_blocks, s_list) { + list_for_each_entry_safe(sb, n, &super_blocks, s_list) { if (list_empty(&sb->s_instances)) continue; if (sb->s_op->write_super && sb->s_dirt) { @@ -412,8 +411,7 @@ restart: up_read(&sb->s_umount); spin_lock(&sb_lock); - if (__put_super_and_need_restart(sb)) - goto restart; + __put_super(sb); } } spin_unlock(&sb_lock); -- cgit v1.2.3