diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-11-28 03:58:46 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-11-28 03:58:46 +0000 |
commit | b63ad0882a16a5d28003e57f2b0b81dee3fb322b (patch) | |
tree | 0a343ce219e2b8b38a5d702d66032c57b83d9720 /fs/proc/generic.c | |
parent | a9d7bff9a84dba79609a0002e5321b74c4d64c64 (diff) |
Merge with 2.4.0-test11.
Diffstat (limited to 'fs/proc/generic.c')
-rw-r--r-- | fs/proc/generic.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/fs/proc/generic.c b/fs/proc/generic.c index 0dd6e6063..e58b04e02 100644 --- a/fs/proc/generic.c +++ b/fs/proc/generic.c @@ -215,7 +215,7 @@ static int proc_follow_link(struct dentry *dentry, struct nameidata *nd) static struct inode_operations proc_link_inode_operations = { readlink: proc_readlink, - follow_link: proc_follow_link + follow_link: proc_follow_link, }; /* @@ -396,8 +396,6 @@ static void proc_kill_inodes(struct proc_dir_entry *de) if (dentry->d_op != &proc_dentry_operations) continue; inode = dentry->d_inode; - if (!inode) - continue; if (inode->u.generic_ip != de) continue; fops_put(filp->f_op); @@ -573,12 +571,12 @@ void remove_proc_entry(const char *name, struct proc_dir_entry *parent) (void *) proc_alloc_map); proc_kill_inodes(de); de->nlink = 0; - de->deleted = 1; - if (!de->count) + if (!atomic_read(&de->count)) free_proc_entry(de); else { + de->deleted = 1; printk("remove_proc_entry: %s/%s busy, count=%d\n", - parent->name, de->name, de->count); + parent->name, de->name, atomic_read(&de->count)); } break; } |