reiserfs: use proc_remove_subtree()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 31 Mar 2013 00:16:20 +0000 (20:16 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 9 Apr 2013 18:13:12 +0000 (14:13 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/reiserfs/procfs.c

index 9cc0740..274adea 100644 (file)
@@ -499,29 +499,17 @@ int reiserfs_proc_info_init(struct super_block *sb)
 int reiserfs_proc_info_done(struct super_block *sb)
 {
        struct proc_dir_entry *de = REISERFS_SB(sb)->procdir;
-       char b[BDEVNAME_SIZE];
-       char *s;
+       if (de) {
+               char b[BDEVNAME_SIZE];
+               char *s;
 
-       /* Some block devices use /'s */
-       strlcpy(b, reiserfs_bdevname(sb), BDEVNAME_SIZE);
-       s = strchr(b, '/');
-       if (s)
-               *s = '!';
+               /* Some block devices use /'s */
+               strlcpy(b, reiserfs_bdevname(sb), BDEVNAME_SIZE);
+               s = strchr(b, '/');
+               if (s)
+                       *s = '!';
 
-       if (de) {
-               remove_proc_entry("journal", de);
-               remove_proc_entry("oidmap", de);
-               remove_proc_entry("on-disk-super", de);
-               remove_proc_entry("bitmap", de);
-               remove_proc_entry("per-level", de);
-               remove_proc_entry("super", de);
-               remove_proc_entry("version", de);
-       }
-       spin_lock(&__PINFO(sb).lock);
-       __PINFO(sb).exiting = 1;
-       spin_unlock(&__PINFO(sb).lock);
-       if (proc_info_root) {
-               remove_proc_entry(b, proc_info_root);
+               remove_proc_subtree(b, proc_info_root);
                REISERFS_SB(sb)->procdir = NULL;
        }
        return 0;