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>
diff --git a/fs/autofs4/autofs_i.h b/fs/autofs4/autofs_i.h
index c6d66db..0925bac 100644
--- a/fs/autofs4/autofs_i.h
+++ b/fs/autofs4/autofs_i.h
@@ -88,8 +88,6 @@
uid_t uid;
gid_t gid;
-
- size_t size;
};
#define AUTOFS_INF_EXPIRING (1<<0) /* dentry is in the process of expiring */
diff --git a/fs/autofs4/inode.c b/fs/autofs4/inode.c
index 6b6f43f..ac1a99c 100644
--- a/fs/autofs4/inode.c
+++ b/fs/autofs4/inode.c
@@ -38,7 +38,6 @@
if (!reinit) {
ino->flags = 0;
ino->dentry = NULL;
- ino->size = 0;
INIT_LIST_HEAD(&ino->active);
ino->active_count = 0;
INIT_LIST_HEAD(&ino->expiring);
@@ -365,7 +364,6 @@
inode->i_op = &autofs4_dir_inode_operations;
inode->i_fop = &autofs4_dir_operations;
} else if (S_ISLNK(mode)) {
- inode->i_size = inf->size;
inode->i_op = &autofs4_symlink_inode_operations;
}
diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c
index e55dcdb..1ad3c6c 100644
--- a/fs/autofs4/root.c
+++ b/fs/autofs4/root.c
@@ -530,6 +530,7 @@
struct autofs_info *ino = autofs4_dentry_ino(dentry);
struct autofs_info *p_ino;
struct inode *inode;
+ size_t size = strlen(symname);
char *cp;
DPRINTK("%s <- %.*s", symname,
@@ -544,8 +545,7 @@
autofs4_del_active(dentry);
- ino->size = strlen(symname);
- cp = kmalloc(ino->size + 1, GFP_KERNEL);
+ cp = kmalloc(size + 1, GFP_KERNEL);
if (!cp) {
if (!dentry->d_fsdata)
kfree(ino);
@@ -562,6 +562,7 @@
return -ENOMEM;
}
inode->i_private = cp;
+ inode->i_size = size;
d_add(dentry, inode);
dentry->d_fsdata = ino;