Skip to content

Commit

Permalink
autofs4: Clean up autofs4_free_ino()
Browse files Browse the repository at this point in the history
When this function is called the local reference count does't need to
be updated since the dentry is going away and dput definitely must
not be called here.

Also the autofs info struct field inode isn't used so remove it.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Ian Kent authored and Al Viro committed Jan 16, 2011
1 parent 71e469d commit 6651149
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 22 deletions.
13 changes: 0 additions & 13 deletions fs/autofs4/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ struct autofs_info *autofs4_init_ino(struct autofs_info *ino,

if (!reinit) {
ino->flags = 0;
ino->inode = NULL;
ino->dentry = NULL;
ino->size = 0;
INIT_LIST_HEAD(&ino->active);
Expand Down Expand Up @@ -76,19 +75,8 @@ struct autofs_info *autofs4_init_ino(struct autofs_info *ino,

void autofs4_free_ino(struct autofs_info *ino)
{
struct autofs_info *p_ino;

if (ino->dentry) {
ino->dentry->d_fsdata = NULL;
if (ino->dentry->d_inode) {
struct dentry *parent = ino->dentry->d_parent;
if (atomic_dec_and_test(&ino->count)) {
p_ino = autofs4_dentry_ino(parent);
if (p_ino && parent != ino->dentry)
atomic_dec(&p_ino->count);
}
dput(ino->dentry);
}
ino->dentry = NULL;
}
if (ino->free)
Expand Down Expand Up @@ -390,7 +378,6 @@ struct inode *autofs4_get_inode(struct super_block *sb,
if (inode == NULL)
return NULL;

inf->inode = inode;
inode->i_mode = inf->mode;
if (sb->s_root) {
inode->i_uid = sb->s_root->d_inode->i_uid;
Expand Down
9 changes: 0 additions & 9 deletions fs/autofs4/root.c
Original file line number Diff line number Diff line change
Expand Up @@ -151,11 +151,8 @@ void autofs4_dentry_release(struct dentry *de)
DPRINTK("releasing %p", de);

inf = autofs4_dentry_ino(de);
de->d_fsdata = NULL;

if (inf) {
struct autofs_sb_info *sbi = autofs4_sbi(de->d_sb);

if (sbi) {
spin_lock(&sbi->lookup_lock);
if (!list_empty(&inf->active))
Expand All @@ -164,10 +161,6 @@ void autofs4_dentry_release(struct dentry *de)
list_del(&inf->expiring);
spin_unlock(&sbi->lookup_lock);
}

inf->dentry = NULL;
inf->inode = NULL;

autofs4_free_ino(inf);
}
}
Expand Down Expand Up @@ -583,7 +576,6 @@ static int autofs4_dir_symlink(struct inode *dir,
p_ino = autofs4_dentry_ino(dentry->d_parent);
if (p_ino && dentry->d_parent != dentry)
atomic_inc(&p_ino->count);
ino->inode = inode;

ino->u.symlink = cp;
dir->i_mtime = CURRENT_TIME;
Expand Down Expand Up @@ -713,7 +705,6 @@ static int autofs4_dir_mkdir(struct inode *dir, struct dentry *dentry, int mode)
p_ino = autofs4_dentry_ino(dentry->d_parent);
if (p_ino && dentry->d_parent != dentry)
atomic_inc(&p_ino->count);
ino->inode = inode;
inc_nlink(dir);
dir->i_mtime = CURRENT_TIME;

Expand Down

0 comments on commit 6651149

Please sign in to comment.