vfs: simple_set_mnt() should return void

simple_set_mnt() is defined as returning 'int' but always returns 0.
Callers assume simple_set_mnt() never fails and don't properly cleanup if
it were to _ever_ fail.  For instance, get_sb_single() and get_sb_nodev()
should:

        up_write(sb->s_unmount);
        deactivate_super(sb);

if simple_set_mnt() fails.

Since simple_set_mnt() never fails, would be cleaner if it did not
return anything.

[akpm@linux-foundation.org: fix build]
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Sukadev Bhattiprolu
2009-03-04 12:06:34 -08:00
committed by Al Viro
parent 585d3bc06f
commit a3ec947c85
11 changed files with 28 additions and 16 deletions

View File

@ -831,7 +831,8 @@ int get_sb_bdev(struct file_system_type *fs_type,
bdev->bd_super = s;
}
return simple_set_mnt(mnt, s);
simple_set_mnt(mnt, s);
return 0;
error_s:
error = PTR_ERR(s);
@ -877,7 +878,8 @@ int get_sb_nodev(struct file_system_type *fs_type,
return error;
}
s->s_flags |= MS_ACTIVE;
return simple_set_mnt(mnt, s);
simple_set_mnt(mnt, s);
return 0;
}
EXPORT_SYMBOL(get_sb_nodev);
@ -909,7 +911,8 @@ int get_sb_single(struct file_system_type *fs_type,
s->s_flags |= MS_ACTIVE;
}
do_remount_sb(s, flags, data, 0);
return simple_set_mnt(mnt, s);
simple_set_mnt(mnt, s);
return 0;
}
EXPORT_SYMBOL(get_sb_single);