diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-10-20 22:29:54 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-11-03 15:21:15 -0500 |
commit | b2037bb62b97015222a58506d1f58bcd596ab895 (patch) | |
tree | 30c40aca8aec06528f26fb5cbabf7e0a16e8fb4d | |
parent | 60dd654e337f0e81c995e3e25a571460dc339dcd (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.c | 30 |
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 | ||
778 | static int ll_new_node(struct inode *dir, struct qstr *name, | 778 | static 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 | } | ||
816 | err_exit: | 816 | err_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); |