diff options
author | Fabrice Jouhaud <yargil@free.fr> | 2011-10-08 16:26:03 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2011-10-08 16:26:03 -0400 |
commit | d44651d0f922b7aaeddd9fc04f2f5700a65983dd (patch) | |
tree | 31387f8acab384d3211903d0abe6232fd7117fe6 /fs/ext4/super.c | |
parent | 6ee3b2122431fc75015c6114d4749de76422452b (diff) | |
download | lwn-d44651d0f922b7aaeddd9fc04f2f5700a65983dd.tar.gz lwn-d44651d0f922b7aaeddd9fc04f2f5700a65983dd.zip |
ext4: fix ext4 so it works without CONFIG_PROC_FS
This fixes a bug which was introduced in dd68314ccf3fb. The problem
came from the test of the return value of proc_mkdir which is always
false without procfs, and this would initialization of ext4.
Signed-off-by: Fabrice Jouhaud <yargil@free.fr>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r-- | fs/ext4/super.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 42f76c64df8c..dcc460537bc7 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -3540,10 +3540,8 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) goto failed_mount; } -#ifdef CONFIG_PROC_FS if (ext4_proc_root) sbi->s_proc = proc_mkdir(sb->s_id, ext4_proc_root); -#endif bgl_lock_init(sbi->s_blockgroup_lock); @@ -5070,13 +5068,11 @@ static int __init ext4_init_fs(void) return err; err = ext4_init_system_zone(); if (err) - goto out7; + goto out6; ext4_kset = kset_create_and_add("ext4", NULL, fs_kobj); if (!ext4_kset) - goto out6; - ext4_proc_root = proc_mkdir("fs/ext4", NULL); - if (!ext4_proc_root) goto out5; + ext4_proc_root = proc_mkdir("fs/ext4", NULL); err = ext4_init_feat_adverts(); if (err) @@ -5112,12 +5108,12 @@ out2: out3: ext4_exit_feat_adverts(); out4: - remove_proc_entry("fs/ext4", NULL); -out5: + if (ext4_proc_root) + remove_proc_entry("fs/ext4", NULL); kset_unregister(ext4_kset); -out6: +out5: ext4_exit_system_zone(); -out7: +out6: ext4_exit_pageio(); return err; } |