diff options
Diffstat (limited to 'fs/proc/inode.c')
| -rw-r--r-- | fs/proc/inode.c | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/fs/proc/inode.c b/fs/proc/inode.c index d78ade305541..445a02bcaab3 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c | |||
| @@ -24,29 +24,6 @@ | |||
| 24 | 24 | ||
| 25 | #include "internal.h" | 25 | #include "internal.h" |
| 26 | 26 | ||
| 27 | struct proc_dir_entry *de_get(struct proc_dir_entry *de) | ||
| 28 | { | ||
| 29 | atomic_inc(&de->count); | ||
| 30 | return de; | ||
| 31 | } | ||
| 32 | |||
| 33 | /* | ||
| 34 | * Decrements the use count and checks for deferred deletion. | ||
| 35 | */ | ||
| 36 | void de_put(struct proc_dir_entry *de) | ||
| 37 | { | ||
| 38 | if (!atomic_read(&de->count)) { | ||
| 39 | printk("de_put: entry %s already free!\n", de->name); | ||
| 40 | return; | ||
| 41 | } | ||
| 42 | |||
| 43 | if (atomic_dec_and_test(&de->count)) | ||
| 44 | free_proc_entry(de); | ||
| 45 | } | ||
| 46 | |||
| 47 | /* | ||
| 48 | * Decrement the use count of the proc_dir_entry. | ||
| 49 | */ | ||
| 50 | static void proc_delete_inode(struct inode *inode) | 27 | static void proc_delete_inode(struct inode *inode) |
| 51 | { | 28 | { |
| 52 | struct proc_dir_entry *de; | 29 | struct proc_dir_entry *de; |
| @@ -59,7 +36,7 @@ static void proc_delete_inode(struct inode *inode) | |||
| 59 | /* Let go of any associated proc directory entry */ | 36 | /* Let go of any associated proc directory entry */ |
| 60 | de = PROC_I(inode)->pde; | 37 | de = PROC_I(inode)->pde; |
| 61 | if (de) | 38 | if (de) |
| 62 | de_put(de); | 39 | pde_put(de); |
| 63 | if (PROC_I(inode)->sysctl) | 40 | if (PROC_I(inode)->sysctl) |
| 64 | sysctl_head_put(PROC_I(inode)->sysctl); | 41 | sysctl_head_put(PROC_I(inode)->sysctl); |
| 65 | clear_inode(inode); | 42 | clear_inode(inode); |
| @@ -480,7 +457,7 @@ struct inode *proc_get_inode(struct super_block *sb, unsigned int ino, | |||
| 480 | } | 457 | } |
| 481 | unlock_new_inode(inode); | 458 | unlock_new_inode(inode); |
| 482 | } else | 459 | } else |
| 483 | de_put(de); | 460 | pde_put(de); |
| 484 | return inode; | 461 | return inode; |
| 485 | } | 462 | } |
| 486 | 463 | ||
| @@ -495,7 +472,7 @@ int proc_fill_super(struct super_block *s) | |||
| 495 | s->s_op = &proc_sops; | 472 | s->s_op = &proc_sops; |
| 496 | s->s_time_gran = 1; | 473 | s->s_time_gran = 1; |
| 497 | 474 | ||
| 498 | de_get(&proc_root); | 475 | pde_get(&proc_root); |
| 499 | root_inode = proc_get_inode(s, PROC_ROOT_INO, &proc_root); | 476 | root_inode = proc_get_inode(s, PROC_ROOT_INO, &proc_root); |
| 500 | if (!root_inode) | 477 | if (!root_inode) |
| 501 | goto out_no_root; | 478 | goto out_no_root; |
| @@ -509,6 +486,6 @@ int proc_fill_super(struct super_block *s) | |||
| 509 | out_no_root: | 486 | out_no_root: |
| 510 | printk("proc_read_super: get root inode failed\n"); | 487 | printk("proc_read_super: get root inode failed\n"); |
| 511 | iput(root_inode); | 488 | iput(root_inode); |
| 512 | de_put(&proc_root); | 489 | pde_put(&proc_root); |
| 513 | return -ENOMEM; | 490 | return -ENOMEM; |
| 514 | } | 491 | } |
