autofs4: kill ->size in autofs_info
It's used only to pass the length of symlink body to autofs4_get_inode() in autofs4_dir_symlink(). We can bloody well set inode->i_size in autofs4_dir_symlink() directly and be done with that. Acked-by: Ian Kent <raven@themaw.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
09f12c03fa
commit
0bf71d4d00
3 changed files with 3 additions and 6 deletions
|
@ -88,8 +88,6 @@ struct autofs_info {
|
||||||
|
|
||||||
uid_t uid;
|
uid_t uid;
|
||||||
gid_t gid;
|
gid_t gid;
|
||||||
|
|
||||||
size_t size;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define AUTOFS_INF_EXPIRING (1<<0) /* dentry is in the process of expiring */
|
#define AUTOFS_INF_EXPIRING (1<<0) /* dentry is in the process of expiring */
|
||||||
|
|
|
@ -38,7 +38,6 @@ struct autofs_info *autofs4_init_ino(struct autofs_info *ino,
|
||||||
if (!reinit) {
|
if (!reinit) {
|
||||||
ino->flags = 0;
|
ino->flags = 0;
|
||||||
ino->dentry = NULL;
|
ino->dentry = NULL;
|
||||||
ino->size = 0;
|
|
||||||
INIT_LIST_HEAD(&ino->active);
|
INIT_LIST_HEAD(&ino->active);
|
||||||
ino->active_count = 0;
|
ino->active_count = 0;
|
||||||
INIT_LIST_HEAD(&ino->expiring);
|
INIT_LIST_HEAD(&ino->expiring);
|
||||||
|
@ -365,7 +364,6 @@ struct inode *autofs4_get_inode(struct super_block *sb,
|
||||||
inode->i_op = &autofs4_dir_inode_operations;
|
inode->i_op = &autofs4_dir_inode_operations;
|
||||||
inode->i_fop = &autofs4_dir_operations;
|
inode->i_fop = &autofs4_dir_operations;
|
||||||
} else if (S_ISLNK(mode)) {
|
} else if (S_ISLNK(mode)) {
|
||||||
inode->i_size = inf->size;
|
|
||||||
inode->i_op = &autofs4_symlink_inode_operations;
|
inode->i_op = &autofs4_symlink_inode_operations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -530,6 +530,7 @@ static int autofs4_dir_symlink(struct inode *dir,
|
||||||
struct autofs_info *ino = autofs4_dentry_ino(dentry);
|
struct autofs_info *ino = autofs4_dentry_ino(dentry);
|
||||||
struct autofs_info *p_ino;
|
struct autofs_info *p_ino;
|
||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
|
size_t size = strlen(symname);
|
||||||
char *cp;
|
char *cp;
|
||||||
|
|
||||||
DPRINTK("%s <- %.*s", symname,
|
DPRINTK("%s <- %.*s", symname,
|
||||||
|
@ -544,8 +545,7 @@ static int autofs4_dir_symlink(struct inode *dir,
|
||||||
|
|
||||||
autofs4_del_active(dentry);
|
autofs4_del_active(dentry);
|
||||||
|
|
||||||
ino->size = strlen(symname);
|
cp = kmalloc(size + 1, GFP_KERNEL);
|
||||||
cp = kmalloc(ino->size + 1, GFP_KERNEL);
|
|
||||||
if (!cp) {
|
if (!cp) {
|
||||||
if (!dentry->d_fsdata)
|
if (!dentry->d_fsdata)
|
||||||
kfree(ino);
|
kfree(ino);
|
||||||
|
@ -562,6 +562,7 @@ static int autofs4_dir_symlink(struct inode *dir,
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
inode->i_private = cp;
|
inode->i_private = cp;
|
||||||
|
inode->i_size = size;
|
||||||
d_add(dentry, inode);
|
d_add(dentry, inode);
|
||||||
|
|
||||||
dentry->d_fsdata = ino;
|
dentry->d_fsdata = ino;
|
||||||
|
|
Loading…
Add table
Reference in a new issue