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:
committed by
Al Viro
parent
585d3bc06f
commit
a3ec947c85
@ -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);
|
||||
|
Reference in New Issue
Block a user