summaryrefslogtreecommitdiff
path: root/fs/cifs/dfs_cache.h
diff options
context:
space:
mode:
authorPaulo Alcantara <pc@cjr.nz>2020-07-21 09:36:42 -0300
committerSteve French <stfrench@microsoft.com>2020-08-02 18:00:26 -0500
commit7548e1da8d2d345debb9c0f141c47e4077d6085b (patch)
tree48724a7d4acc095f10a8d1ae5223841b82e2ede6 /fs/cifs/dfs_cache.h
parenta52930353eaf443489a350a135c5525a4acbbf56 (diff)
downloadlinux-rpi-7548e1da8d2d345debb9c0f141c47e4077d6085b.tar.gz
linux-rpi-7548e1da8d2d345debb9c0f141c47e4077d6085b.tar.bz2
linux-rpi-7548e1da8d2d345debb9c0f141c47e4077d6085b.zip
cifs: handle RESP_GET_DFS_REFERRAL.PathConsumed in reconnect
Use PathConsumed field when parsing prefixes of referral paths that either match a cache entry or are a complete prefix path of an existing entry. Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz> Reviewed-by: Aurelien Aptel <aaptel@suse.com> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/dfs_cache.h')
-rw-r--r--fs/cifs/dfs_cache.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/cifs/dfs_cache.h b/fs/cifs/dfs_cache.h
index bf94d08cfb5a..3d7c05194536 100644
--- a/fs/cifs/dfs_cache.h
+++ b/fs/cifs/dfs_cache.h
@@ -19,6 +19,7 @@ struct dfs_cache_tgt_list {
struct dfs_cache_tgt_iterator {
char *it_name;
+ int it_path_consumed;
struct list_head it_list;
};
@@ -48,10 +49,8 @@ extern int dfs_cache_add_vol(char *mntdata, struct smb_vol *vol,
extern int dfs_cache_update_vol(const char *fullpath,
struct TCP_Server_Info *server);
extern void dfs_cache_del_vol(const char *fullpath);
-
-extern int dfs_cache_get_tgt_share(const struct dfs_cache_tgt_iterator *it,
- const char **share, size_t *share_len,
- const char **prefix, size_t *prefix_len);
+extern int dfs_cache_get_tgt_share(char *path, const struct dfs_cache_tgt_iterator *it,
+ char **share, char **prefix);
static inline struct dfs_cache_tgt_iterator *
dfs_cache_get_next_tgt(struct dfs_cache_tgt_list *tl,