Convert simple loops over superblocks to list_for_each_entry_safe
[safe/jmp/linux-2.6] / fs / drop_caches.c
index 9cd4e4a..42728a1 100644 (file)
@@ -35,11 +35,10 @@ static void drop_pagecache_sb(struct super_block *sb)
 
 static void drop_pagecache(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;
                sb->s_count++;
@@ -49,8 +48,7 @@ restart:
                        drop_pagecache_sb(sb);
                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);
 }