aboutsummaryrefslogtreecommitdiff
path: root/fs/cifs/readdir.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-10-18 13:39:19 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-10-18 13:39:19 -0700
commit9272f2dc3956c6b6c4335de51bc897fa3b981584 (patch)
tree0fed79884531f07bbc3abeca876d3a8b60f653b3 /fs/cifs/readdir.c
parente83e43237236ba89316e97a3743b5bd585726e47 (diff)
parentff273cb879fbc6cd3c5d03a56cfc33f5830e2837 (diff)
Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6
Pull cifs/smb3 updates from Steve French: "Improved SMB3 support (symlink and device emulation, and remapping by default the 7 reserved posix characters) and a workaround for cifs mounts to Mac (working around a commonly encountered Mac server bug)" * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6: [CIFS] Remove obsolete comment Check minimum response length on query_network_interface Workaround Mac server problem Remap reserved posix characters by default (part 3/3) Allow conversion of characters in Mac remap range (part 2) Allow conversion of characters in Mac remap range. Part 1 mfsymlinks support for SMB2.1/SMB3. Part 2 query symlink Add mfsymlinks support for SMB2.1/SMB3. Part 1 create symlink Allow mknod and mkfifo on SMB2/SMB3 mounts add defines for two new file attributes
Diffstat (limited to 'fs/cifs/readdir.c')
-rw-r--r--fs/cifs/readdir.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c
index d2141f101382..8fd2a95860ba 100644
--- a/fs/cifs/readdir.c
+++ b/fs/cifs/readdir.c
@@ -239,7 +239,7 @@ int get_symlink_reparse_path(char *full_path, struct cifs_sb_info *cifs_sb,
rc = CIFSSMBOpen(xid, ptcon, full_path, FILE_OPEN, GENERIC_READ,
OPEN_REPARSE_POINT, &fid, &oplock, NULL,
cifs_sb->local_nls,
- cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
+ cifs_remap(cifs_sb);
if (!rc) {
tmpbuffer = kmalloc(maxpath);
rc = CIFSSMBQueryReparseLinkInfo(xid, ptcon, full_path,
@@ -704,15 +704,15 @@ static int cifs_filldir(char *find_entry, struct file *file,
if (file_info->srch_inf.unicode) {
struct nls_table *nlt = cifs_sb->local_nls;
+ int map_type;
+ map_type = cifs_remap(cifs_sb);
name.name = scratch_buf;
name.len =
cifs_from_utf16((char *)name.name, (__le16 *)de.name,
UNICODE_NAME_MAX,
min_t(size_t, de.namelen,
- (size_t)max_len), nlt,
- cifs_sb->mnt_cifs_flags &
- CIFS_MOUNT_MAP_SPECIAL_CHR);
+ (size_t)max_len), nlt, map_type);
name.len -= nls_nullsize(nlt);
} else {
name.name = de.name;