diff options
Diffstat (limited to 'fs/cifs/dir.c')
-rw-r--r-- | fs/cifs/dir.c | 10 |
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 */ |
45 | char * | 45 | char * |
46 | build_path_from_dentry(struct dentry *direntry) | 46 | build_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); |