diff options
author | Pavel Shilovsky <piastry@etersoft.ru> | 2013-10-23 17:49:47 +0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2013-11-11 16:31:03 -0600 |
commit | eb85d94bdd91fb4dbea4ee465d4349cbea4eaaca (patch) | |
tree | 217ed41bd6bdf55b5a7263d42ebab386f6377785 /fs/cifs/smb2proto.h | |
parent | 6c86ae2928f9e4cbf0d5844f5fcfd549e3450b8c (diff) | |
download | linux-eb85d94bdd91fb4dbea4ee465d4349cbea4eaaca.tar.bz2 |
CIFS: Fix symbolic links usage
Now we treat any reparse point as a symbolic link and map it to a Unix
one that is not true in a common case due to many reparse point types
supported by SMB servers.
Distinguish reparse point types into two groups:
1) that can be accessed directly through a reparse point
(junctions, deduplicated files, NFS symlinks);
2) that need to be processed manually (Windows symbolic links, DFS);
and map only Windows symbolic links to Unix ones.
Cc: <stable@vger.kernel.org>
Acked-by: Jeff Layton <jlayton@redhat.com>
Reported-and-tested-by: Joao Correia <joaomiguelcorreia@gmail.com>
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/smb2proto.h')
-rw-r--r-- | fs/cifs/smb2proto.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/smb2proto.h b/fs/cifs/smb2proto.h index 313813e4c19b..b4eea105b08c 100644 --- a/fs/cifs/smb2proto.h +++ b/fs/cifs/smb2proto.h @@ -61,7 +61,7 @@ extern void move_smb2_info_to_cifs(FILE_ALL_INFO *dst, extern int smb2_query_path_info(const unsigned int xid, struct cifs_tcon *tcon, struct cifs_sb_info *cifs_sb, const char *full_path, FILE_ALL_INFO *data, - bool *adjust_tz); + bool *adjust_tz, bool *symlink); extern int smb2_set_path_size(const unsigned int xid, struct cifs_tcon *tcon, const char *full_path, __u64 size, struct cifs_sb_info *cifs_sb, bool set_alloc); |