fs/super.c: use list_for_each_entry() instead of list_for_each()

fs/super.c: use list_for_each_entry() instead of list_for_each() in
sget()

[akpm@linux-foundation.org: clean up some crap while we're there]
Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Matthias Kaehlcke 2007-10-18 23:39:57 -07:00 committed by Linus Torvalds
parent b70c394099
commit d473012710

View File

@ -332,14 +332,13 @@ struct super_block *sget(struct file_system_type *type,
void *data) void *data)
{ {
struct super_block *s = NULL; struct super_block *s = NULL;
struct list_head *p; struct super_block *old;
int err; int err;
retry: retry:
spin_lock(&sb_lock); spin_lock(&sb_lock);
if (test) list_for_each(p, &type->fs_supers) { if (test) {
struct super_block *old; list_for_each_entry(old, &type->fs_supers, s_instances) {
old = list_entry(p, struct super_block, s_instances);
if (!test(old, data)) if (!test(old, data))
continue; continue;
if (!grab_super(old)) if (!grab_super(old))
@ -348,6 +347,7 @@ retry:
destroy_super(s); destroy_super(s);
return old; return old;
} }
}
if (!s) { if (!s) {
spin_unlock(&sb_lock); spin_unlock(&sb_lock);
s = alloc_super(type); s = alloc_super(type);