diff options
Diffstat (limited to 'fs/autofs4')
-rw-r--r-- | fs/autofs4/inode.c | 13 | ||||
-rw-r--r-- | fs/autofs4/root.c | 9 |
2 files changed, 0 insertions, 22 deletions
diff --git a/fs/autofs4/inode.c b/fs/autofs4/inode.c index 427c35746340..3ecd2e2bcdbd 100644 --- a/fs/autofs4/inode.c +++ b/fs/autofs4/inode.c | |||
@@ -45,7 +45,6 @@ struct autofs_info *autofs4_init_ino(struct autofs_info *ino, | |||
45 | 45 | ||
46 | if (!reinit) { | 46 | if (!reinit) { |
47 | ino->flags = 0; | 47 | ino->flags = 0; |
48 | ino->inode = NULL; | ||
49 | ino->dentry = NULL; | 48 | ino->dentry = NULL; |
50 | ino->size = 0; | 49 | ino->size = 0; |
51 | INIT_LIST_HEAD(&ino->active); | 50 | INIT_LIST_HEAD(&ino->active); |
@@ -76,19 +75,8 @@ struct autofs_info *autofs4_init_ino(struct autofs_info *ino, | |||
76 | 75 | ||
77 | void autofs4_free_ino(struct autofs_info *ino) | 76 | void autofs4_free_ino(struct autofs_info *ino) |
78 | { | 77 | { |
79 | struct autofs_info *p_ino; | ||
80 | |||
81 | if (ino->dentry) { | 78 | if (ino->dentry) { |
82 | ino->dentry->d_fsdata = NULL; | 79 | ino->dentry->d_fsdata = NULL; |
83 | if (ino->dentry->d_inode) { | ||
84 | struct dentry *parent = ino->dentry->d_parent; | ||
85 | if (atomic_dec_and_test(&ino->count)) { | ||
86 | p_ino = autofs4_dentry_ino(parent); | ||
87 | if (p_ino && parent != ino->dentry) | ||
88 | atomic_dec(&p_ino->count); | ||
89 | } | ||
90 | dput(ino->dentry); | ||
91 | } | ||
92 | ino->dentry = NULL; | 80 | ino->dentry = NULL; |
93 | } | 81 | } |
94 | if (ino->free) | 82 | if (ino->free) |
@@ -390,7 +378,6 @@ struct inode *autofs4_get_inode(struct super_block *sb, | |||
390 | if (inode == NULL) | 378 | if (inode == NULL) |
391 | return NULL; | 379 | return NULL; |
392 | 380 | ||
393 | inf->inode = inode; | ||
394 | inode->i_mode = inf->mode; | 381 | inode->i_mode = inf->mode; |
395 | if (sb->s_root) { | 382 | if (sb->s_root) { |
396 | inode->i_uid = sb->s_root->d_inode->i_uid; | 383 | inode->i_uid = sb->s_root->d_inode->i_uid; |
diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c index 62c1229a4d31..8315565ed7d4 100644 --- a/fs/autofs4/root.c +++ b/fs/autofs4/root.c | |||
@@ -151,11 +151,8 @@ void autofs4_dentry_release(struct dentry *de) | |||
151 | DPRINTK("releasing %p", de); | 151 | DPRINTK("releasing %p", de); |
152 | 152 | ||
153 | inf = autofs4_dentry_ino(de); | 153 | inf = autofs4_dentry_ino(de); |
154 | de->d_fsdata = NULL; | ||
155 | |||
156 | if (inf) { | 154 | if (inf) { |
157 | struct autofs_sb_info *sbi = autofs4_sbi(de->d_sb); | 155 | struct autofs_sb_info *sbi = autofs4_sbi(de->d_sb); |
158 | |||
159 | if (sbi) { | 156 | if (sbi) { |
160 | spin_lock(&sbi->lookup_lock); | 157 | spin_lock(&sbi->lookup_lock); |
161 | if (!list_empty(&inf->active)) | 158 | if (!list_empty(&inf->active)) |
@@ -164,10 +161,6 @@ void autofs4_dentry_release(struct dentry *de) | |||
164 | list_del(&inf->expiring); | 161 | list_del(&inf->expiring); |
165 | spin_unlock(&sbi->lookup_lock); | 162 | spin_unlock(&sbi->lookup_lock); |
166 | } | 163 | } |
167 | |||
168 | inf->dentry = NULL; | ||
169 | inf->inode = NULL; | ||
170 | |||
171 | autofs4_free_ino(inf); | 164 | autofs4_free_ino(inf); |
172 | } | 165 | } |
173 | } | 166 | } |
@@ -583,7 +576,6 @@ static int autofs4_dir_symlink(struct inode *dir, | |||
583 | p_ino = autofs4_dentry_ino(dentry->d_parent); | 576 | p_ino = autofs4_dentry_ino(dentry->d_parent); |
584 | if (p_ino && dentry->d_parent != dentry) | 577 | if (p_ino && dentry->d_parent != dentry) |
585 | atomic_inc(&p_ino->count); | 578 | atomic_inc(&p_ino->count); |
586 | ino->inode = inode; | ||
587 | 579 | ||
588 | ino->u.symlink = cp; | 580 | ino->u.symlink = cp; |
589 | dir->i_mtime = CURRENT_TIME; | 581 | dir->i_mtime = CURRENT_TIME; |
@@ -713,7 +705,6 @@ static int autofs4_dir_mkdir(struct inode *dir, struct dentry *dentry, int mode) | |||
713 | p_ino = autofs4_dentry_ino(dentry->d_parent); | 705 | p_ino = autofs4_dentry_ino(dentry->d_parent); |
714 | if (p_ino && dentry->d_parent != dentry) | 706 | if (p_ino && dentry->d_parent != dentry) |
715 | atomic_inc(&p_ino->count); | 707 | atomic_inc(&p_ino->count); |
716 | ino->inode = inode; | ||
717 | inc_nlink(dir); | 708 | inc_nlink(dir); |
718 | dir->i_mtime = CURRENT_TIME; | 709 | dir->i_mtime = CURRENT_TIME; |
719 | 710 | ||