diff options
author | Steve French <smfrench@gmail.com> | 2013-07-11 19:17:40 -0500 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2013-07-30 23:54:45 -0500 |
commit | 1b244081af462c223cfa6a1ae881a902af64c306 (patch) | |
tree | 0b950b63d907f4fb3394f16a8e179a4f05857ac1 /fs/cifs/cifsglob.h | |
parent | 057d6332b24a4497c55a761c83c823eed9e3f23b (diff) | |
download | linux-1b244081af462c223cfa6a1ae881a902af64c306.tar.gz linux-1b244081af462c223cfa6a1ae881a902af64c306.tar.bz2 linux-1b244081af462c223cfa6a1ae881a902af64c306.zip |
Do not attempt to do cifs operations reading symlinks with SMB2
When use of symlinks is enabled (mounting with mfsymlinks option) to
non-Samba servers, we always tried to use cifs, even when we
were mounted with SMB2 or SMB3, which causes the server to drop the
network connection.
This patch separates out the protocol specific operations for cifs from
the code which recognizes symlinks, and fixes the problem where
with SMB2 mounts we attempt cifs operations to open and read
symlinks. The next patch will add support for SMB2 for opening
and reading symlinks. Additional followon patches will address
the similar problem creating symlinks.
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 0e68893f26f3..52ca861ed35e 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -370,6 +370,9 @@ struct smb_version_operations { void (*generate_signingkey)(struct TCP_Server_Info *server); int (*calc_signature)(struct smb_rqst *rqst, struct TCP_Server_Info *server); + int (*query_mf_symlink)(const unsigned char *path, char *pbuf, + unsigned int *pbytes_read, struct cifs_sb_info *cifs_sb, + unsigned int xid); }; struct smb_version_values { |