Commit 0bf71d4d authored by Al Viro's avatar Al Viro

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: default avatarIan Kent <raven@themaw.net>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 09f12c03
...@@ -88,8 +88,6 @@ struct autofs_info { ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment