+8
-22
fs/anon_inodes.c
+8
-22
fs/anon_inodes.c
···
41
41
static struct dentry *anon_inodefs_mount(struct file_system_type *fs_type,
42
42
int flags, const char *dev_name, void *data)
43
43
{
44
-
struct dentry *root;
45
-
root = mount_pseudo(fs_type, "anon_inode:", NULL,
44
+
return mount_pseudo(fs_type, "anon_inode:", NULL,
46
45
&anon_inodefs_dentry_operations, ANON_INODE_FS_MAGIC);
47
-
if (!IS_ERR(root)) {
48
-
struct super_block *s = root->d_sb;
49
-
anon_inode_inode = alloc_anon_inode(s);
50
-
if (IS_ERR(anon_inode_inode)) {
51
-
dput(root);
52
-
deactivate_locked_super(s);
53
-
root = ERR_CAST(anon_inode_inode);
54
-
}
55
-
}
56
-
return root;
57
46
}
58
47
59
48
static struct file_system_type anon_inode_fs_type = {
···
164
175
165
176
static int __init anon_inode_init(void)
166
177
{
167
-
int error;
168
-
169
178
anon_inode_mnt = kern_mount(&anon_inode_fs_type);
170
-
if (IS_ERR(anon_inode_mnt)) {
171
-
error = PTR_ERR(anon_inode_mnt);
172
-
goto err_unregister_filesystem;
173
-
}
174
-
return 0;
179
+
if (IS_ERR(anon_inode_mnt))
180
+
panic("anon_inode_init() kernel mount failed (%ld)\n", PTR_ERR(anon_inode_mnt));
175
181
176
-
err_unregister_filesystem:
177
-
unregister_filesystem(&anon_inode_fs_type);
178
-
panic(KERN_ERR "anon_inode_init() failed (%d)\n", error);
182
+
anon_inode_inode = alloc_anon_inode(anon_inode_mnt->mnt_sb);
183
+
if (IS_ERR(anon_inode_inode))
184
+
panic("anon_inode_init() inode allocation failed (%ld)\n", PTR_ERR(anon_inode_inode));
185
+
186
+
return 0;
179
187
}
180
188
181
189
fs_initcall(anon_inode_init);