aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-10-20 22:29:54 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2014-11-03 15:21:15 -0500
commitb2037bb62b97015222a58506d1f58bcd596ab895 (patch)
tree30c40aca8aec06528f26fb5cbabf7e0a16e8fb4d
parent60dd654e337f0e81c995e3e25a571460dc339dcd (diff)
ll_new_inode(): don't bother with name - it's always &dentry->d_name
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--drivers/staging/lustre/lustre/llite/namei.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/staging/lustre/lustre/llite/namei.c b/drivers/staging/lustre/lustre/llite/namei.c
index 974d2d0dcc5b..510ac8246991 100644
--- a/drivers/staging/lustre/lustre/llite/namei.c
+++ b/drivers/staging/lustre/lustre/llite/namei.c
@@ -775,9 +775,9 @@ static void ll_update_times(struct ptlrpc_request *request,
775 LTIME_S(inode->i_ctime) = body->ctime; 775 LTIME_S(inode->i_ctime) = body->ctime;
776} 776}
777 777
778static int ll_new_node(struct inode *dir, struct qstr *name, 778static int ll_new_node(struct inode *dir, struct dentry *dentry,
779 const char *tgt, int mode, int rdev, 779 const char *tgt, int mode, int rdev,
780 struct dentry *dchild, __u32 opc) 780 __u32 opc)
781{ 781{
782 struct ptlrpc_request *request = NULL; 782 struct ptlrpc_request *request = NULL;
783 struct md_op_data *op_data; 783 struct md_op_data *op_data;
@@ -789,8 +789,10 @@ static int ll_new_node(struct inode *dir, struct qstr *name,
789 if (unlikely(tgt != NULL)) 789 if (unlikely(tgt != NULL))
790 tgt_len = strlen(tgt) + 1; 790 tgt_len = strlen(tgt) + 1;
791 791
792 op_data = ll_prep_md_op_data(NULL, dir, NULL, name->name, 792 op_data = ll_prep_md_op_data(NULL, dir, NULL,
793 name->len, 0, opc, NULL); 793 dentry->d_name.name,
794 dentry->d_name.len,
795 0, opc, NULL);
794 if (IS_ERR(op_data)) { 796 if (IS_ERR(op_data)) {
795 err = PTR_ERR(op_data); 797 err = PTR_ERR(op_data);
796 goto err_exit; 798 goto err_exit;
@@ -806,13 +808,11 @@ static int ll_new_node(struct inode *dir, struct qstr *name,
806 808
807 ll_update_times(request, dir); 809 ll_update_times(request, dir);
808 810
809 if (dchild) { 811 err = ll_prep_inode(&inode, request, dir->i_sb, NULL);
810 err = ll_prep_inode(&inode, request, dchild->d_sb, NULL); 812 if (err)
811 if (err) 813 goto err_exit;
812 goto err_exit;
813 814
814 d_instantiate(dchild, inode); 815 d_instantiate(dentry, inode);
815 }
816err_exit: 816err_exit:
817 ptlrpc_req_finished(request); 817 ptlrpc_req_finished(request);
818 818
@@ -839,8 +839,8 @@ static int ll_mknod(struct inode *dir, struct dentry *dchild,
839 case S_IFBLK: 839 case S_IFBLK:
840 case S_IFIFO: 840 case S_IFIFO:
841 case S_IFSOCK: 841 case S_IFSOCK:
842 err = ll_new_node(dir, &dchild->d_name, NULL, mode, 842 err = ll_new_node(dir, dchild, NULL, mode,
843 old_encode_dev(rdev), dchild, 843 old_encode_dev(rdev),
844 LUSTRE_OPC_MKNOD); 844 LUSTRE_OPC_MKNOD);
845 break; 845 break;
846 case S_IFDIR: 846 case S_IFDIR:
@@ -1161,7 +1161,7 @@ static int ll_mkdir(struct inode *dir, struct dentry *dentry, ll_umode_t mode)
1161 if (!IS_POSIXACL(dir) || !exp_connect_umask(ll_i2mdexp(dir))) 1161 if (!IS_POSIXACL(dir) || !exp_connect_umask(ll_i2mdexp(dir)))
1162 mode &= ~current_umask(); 1162 mode &= ~current_umask();
1163 mode = (mode & (S_IRWXUGO|S_ISVTX)) | S_IFDIR; 1163 mode = (mode & (S_IRWXUGO|S_ISVTX)) | S_IFDIR;
1164 err = ll_new_node(dir, &dentry->d_name, NULL, mode, 0, dentry, LUSTRE_OPC_MKDIR); 1164 err = ll_new_node(dir, dentry, NULL, mode, 0, LUSTRE_OPC_MKDIR);
1165 1165
1166 if (!err) 1166 if (!err)
1167 ll_stats_ops_tally(ll_i2sbi(dir), LPROC_LL_MKDIR, 1); 1167 ll_stats_ops_tally(ll_i2sbi(dir), LPROC_LL_MKDIR, 1);
@@ -1183,8 +1183,8 @@ static int ll_symlink(struct inode *dir, struct dentry *dentry,
1183 dentry, dir->i_ino, dir->i_generation, 1183 dentry, dir->i_ino, dir->i_generation,
1184 dir, 3000, oldname); 1184 dir, 3000, oldname);
1185 1185
1186 err = ll_new_node(dir, &dentry->d_name, oldname, S_IFLNK | S_IRWXUGO, 1186 err = ll_new_node(dir, dentry, oldname, S_IFLNK | S_IRWXUGO,
1187 0, dentry, LUSTRE_OPC_SYMLINK); 1187 0, LUSTRE_OPC_SYMLINK);
1188 1188
1189 if (!err) 1189 if (!err)
1190 ll_stats_ops_tally(ll_i2sbi(dir), LPROC_LL_SYMLINK, 1); 1190 ll_stats_ops_tally(ll_i2sbi(dir), LPROC_LL_SYMLINK, 1);