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,21 +332,21 @@ 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)) goto retry;
goto retry; if (s)
if (s) destroy_super(s);
destroy_super(s); return old;
return old; }
} }
if (!s) { if (!s) {
spin_unlock(&sb_lock); spin_unlock(&sb_lock);