diff options
author | Paulo Alcantara <pc@cjr.nz> | 2020-07-21 15:36:42 +0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2020-08-03 02:00:26 +0300 |
commit | 7548e1da8d2d345debb9c0f141c47e4077d6085b (patch) | |
tree | 48724a7d4acc095f10a8d1ae5223841b82e2ede6 /fs/cifs/dfs_cache.h | |
parent | a52930353eaf443489a350a135c5525a4acbbf56 (diff) | |
download | linux-7548e1da8d2d345debb9c0f141c47e4077d6085b.tar.xz |
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.h | 7 |
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, |