diff options
Diffstat (limited to 'fs/proc/generic.c')
-rw-r--r-- | fs/proc/generic.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/fs/proc/generic.c b/fs/proc/generic.c index a9806bc21ec3..39f3d6519035 100644 --- a/fs/proc/generic.c +++ b/fs/proc/generic.c | |||
@@ -555,41 +555,6 @@ static int proc_register(struct proc_dir_entry * dir, struct proc_dir_entry * dp | |||
555 | return 0; | 555 | return 0; |
556 | } | 556 | } |
557 | 557 | ||
558 | /* | ||
559 | * Kill an inode that got unregistered.. | ||
560 | */ | ||
561 | static void proc_kill_inodes(struct proc_dir_entry *de) | ||
562 | { | ||
563 | struct list_head *p; | ||
564 | struct super_block *sb; | ||
565 | |||
566 | /* | ||
567 | * Actually it's a partial revoke(). | ||
568 | */ | ||
569 | spin_lock(&sb_lock); | ||
570 | list_for_each_entry(sb, &proc_fs_type.fs_supers, s_instances) { | ||
571 | file_list_lock(); | ||
572 | list_for_each(p, &sb->s_files) { | ||
573 | struct file *filp = list_entry(p, struct file, | ||
574 | f_u.fu_list); | ||
575 | struct dentry *dentry = filp->f_path.dentry; | ||
576 | struct inode *inode; | ||
577 | const struct file_operations *fops; | ||
578 | |||
579 | if (dentry->d_op != &proc_dentry_operations) | ||
580 | continue; | ||
581 | inode = dentry->d_inode; | ||
582 | if (PDE(inode) != de) | ||
583 | continue; | ||
584 | fops = filp->f_op; | ||
585 | filp->f_op = NULL; | ||
586 | fops_put(fops); | ||
587 | } | ||
588 | file_list_unlock(); | ||
589 | } | ||
590 | spin_unlock(&sb_lock); | ||
591 | } | ||
592 | |||
593 | static struct proc_dir_entry *proc_create(struct proc_dir_entry **parent, | 558 | static struct proc_dir_entry *proc_create(struct proc_dir_entry **parent, |
594 | const char *name, | 559 | const char *name, |
595 | mode_t mode, | 560 | mode_t mode, |
@@ -764,8 +729,6 @@ void remove_proc_entry(const char *name, struct proc_dir_entry *parent) | |||
764 | continue_removing: | 729 | continue_removing: |
765 | if (S_ISDIR(de->mode)) | 730 | if (S_ISDIR(de->mode)) |
766 | parent->nlink--; | 731 | parent->nlink--; |
767 | if (!S_ISREG(de->mode)) | ||
768 | proc_kill_inodes(de); | ||
769 | de->nlink = 0; | 732 | de->nlink = 0; |
770 | WARN_ON(de->subdir); | 733 | WARN_ON(de->subdir); |
771 | if (!atomic_read(&de->count)) | 734 | if (!atomic_read(&de->count)) |