diff options
author | Nakajima Akira <nakajima.akira@nttcom.co.jp> | 2015-02-13 15:35:58 +0900 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2015-05-10 19:56:35 -0500 |
commit | bc8ebdc4f54cc944b0ecc0fb0d18b0ffbaab0468 (patch) | |
tree | 1d442f43a1d50cec2c4f6ee8a0957b00a8950b97 /fs/cifs/file.c | |
parent | f5d0684e848f01347ba510545822c205889f8acc (diff) | |
download | op-kernel-dev-bc8ebdc4f54cc944b0ecc0fb0d18b0ffbaab0468.zip op-kernel-dev-bc8ebdc4f54cc944b0ecc0fb0d18b0ffbaab0468.tar.gz |
Fix that several functions handle incorrect value of mapchars
Cifs client has problem with reserved chars filename.
[BUG1] : several functions handle incorrect value of mapchars
- cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
+ cifs_remap(cifs_sb));
[BUG2] : forget to convert reserved chars when creating SymbolicLink.
- CIFSUnixCreateSymLink() calls cifs_strtoUTF16
+ CIFSUnixCreateSymLink() calls cifsConvertToUTF16() with remap
[BUG3] : forget to convert reserved chars when getting SymbolicLink.
- CIFSSMBUnixQuerySymLink() calls cifs_strtoUTF16
+ CIFSSMBUnixQuerySymLink() calls cifsConvertToUTF16() with remap
[BUG4] : /proc/mounts don't show "mapposix" when using mapposix mount option
+ cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SFM_CHR)
+ seq_puts(s, ",mapposix");
Reported-by: t.wede@kw-reneg.de
Reported-by: Nakajima Akira <nakajima.akira@nttcom.co.jp>
Signed-off-by: Nakajima Akira <nakajima.akira@nttcom.co.jp>
Signed-off-by: Carl Schaefer <schaefer@trilug.org>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index cafbf10..5cfa712 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -140,8 +140,7 @@ int cifs_posix_open(char *full_path, struct inode **pinode, posix_flags = cifs_posix_convert_flags(f_flags); rc = CIFSPOSIXCreate(xid, tcon, posix_flags, mode, pnetfid, presp_data, poplock, full_path, cifs_sb->local_nls, - cifs_sb->mnt_cifs_flags & - CIFS_MOUNT_MAP_SPECIAL_CHR); + cifs_remap(cifs_sb)); cifs_put_tlink(tlink); if (rc) |