hugetlbfs: return error code when initializing module
Return an errno upon failure to create inode kmem cache, and unregister the FS upon failure to mount. [akpm@linux-foundation.org: remove unneeded test of `error'] Signed-off-by: Hillf Danton <dhillf@gmail.com> Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
b69add218d
commit
d1d5e05ffd
@ -1021,6 +1021,7 @@ static int __init init_hugetlbfs_fs(void)
|
|||||||
if (error)
|
if (error)
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
error = -ENOMEM;
|
||||||
hugetlbfs_inode_cachep = kmem_cache_create("hugetlbfs_inode_cache",
|
hugetlbfs_inode_cachep = kmem_cache_create("hugetlbfs_inode_cache",
|
||||||
sizeof(struct hugetlbfs_inode_info),
|
sizeof(struct hugetlbfs_inode_info),
|
||||||
0, 0, init_once);
|
0, 0, init_once);
|
||||||
@ -1039,10 +1040,10 @@ static int __init init_hugetlbfs_fs(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
error = PTR_ERR(vfsmount);
|
error = PTR_ERR(vfsmount);
|
||||||
|
unregister_filesystem(&hugetlbfs_fs_type);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (error)
|
kmem_cache_destroy(hugetlbfs_inode_cachep);
|
||||||
kmem_cache_destroy(hugetlbfs_inode_cachep);
|
|
||||||
out2:
|
out2:
|
||||||
bdi_destroy(&hugetlbfs_backing_dev_info);
|
bdi_destroy(&hugetlbfs_backing_dev_info);
|
||||||
return error;
|
return error;
|
||||||
|
Loading…
Reference in New Issue
Block a user