aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/dir.c')
-rw-r--r--fs/cifs/dir.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index 3f3538d4a1fa..9360d8fb9ef7 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -43,7 +43,7 @@ renew_parental_timestamps(struct dentry *direntry)
43 43
44/* Note: caller must free return buffer */ 44/* Note: caller must free return buffer */
45char * 45char *
46build_path_from_dentry(struct dentry *direntry) 46build_path_from_dentry(struct dentry *direntry, const struct cifs_sb_info *cifs_sb)
47{ 47{
48 struct dentry *temp; 48 struct dentry *temp;
49 int namelen = 0; 49 int namelen = 0;
@@ -74,7 +74,7 @@ cifs_bp_rename_retry:
74 if (namelen < 0) { 74 if (namelen < 0) {
75 break; 75 break;
76 } else { 76 } else {
77 full_path[namelen] = '\\'; 77 full_path[namelen] = CIFS_DIR_SEP(cifs_sb);
78 strncpy(full_path + namelen + 1, temp->d_name.name, 78 strncpy(full_path + namelen + 1, temp->d_name.name,
79 temp->d_name.len); 79 temp->d_name.len);
80 cFYI(0, (" name: %s ", full_path + namelen)); 80 cFYI(0, (" name: %s ", full_path + namelen));
@@ -138,7 +138,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
138 pTcon = cifs_sb->tcon; 138 pTcon = cifs_sb->tcon;
139 139
140 down(&direntry->d_sb->s_vfs_rename_sem); 140 down(&direntry->d_sb->s_vfs_rename_sem);
141 full_path = build_path_from_dentry(direntry); 141 full_path = build_path_from_dentry(direntry, cifs_sb);
142 up(&direntry->d_sb->s_vfs_rename_sem); 142 up(&direntry->d_sb->s_vfs_rename_sem);
143 if(full_path == NULL) { 143 if(full_path == NULL) {
144 FreeXid(xid); 144 FreeXid(xid);
@@ -299,7 +299,7 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, dev_t dev
299 pTcon = cifs_sb->tcon; 299 pTcon = cifs_sb->tcon;
300 300
301 down(&direntry->d_sb->s_vfs_rename_sem); 301 down(&direntry->d_sb->s_vfs_rename_sem);
302 full_path = build_path_from_dentry(direntry); 302 full_path = build_path_from_dentry(direntry, cifs_sb);
303 up(&direntry->d_sb->s_vfs_rename_sem); 303 up(&direntry->d_sb->s_vfs_rename_sem);
304 if(full_path == NULL) 304 if(full_path == NULL)
305 rc = -ENOMEM; 305 rc = -ENOMEM;
@@ -360,7 +360,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, struct name
360 /* can not grab the rename sem here since it would 360 /* can not grab the rename sem here since it would
361 deadlock in the cases (beginning of sys_rename itself) 361 deadlock in the cases (beginning of sys_rename itself)
362 in which we already have the sb rename sem */ 362 in which we already have the sb rename sem */
363 full_path = build_path_from_dentry(direntry); 363 full_path = build_path_from_dentry(direntry, cifs_sb);
364 if(full_path == NULL) { 364 if(full_path == NULL) {
365 FreeXid(xid); 365 FreeXid(xid);
366 return ERR_PTR(-ENOMEM); 366 return ERR_PTR(-ENOMEM);