cifs: fix DFS failover
authorPaulo Alcantara <pc@cjr.nz>
Wed, 24 Feb 2021 23:59:21 +0000 (20:59 -0300)
committerSteve French <stfrench@microsoft.com>
Thu, 25 Feb 2021 18:14:17 +0000 (12:14 -0600)
commit8513222b9ef2709ba40cbda07b55d5fbcfdd4bc7
treea9d54605c1bfe0048f17caec05ddb5a68065df34
parentd01132ae50207bb6fd94e08e80c2d7b839408086
cifs: fix DFS failover

In do_dfs_failover(), the mount_get_conns() function requires the full
fs context in order to get new connection to server, so clone the
original context and change it accordingly when retrying the DFS
targets in the referral.

If failover was successful, then update original context with the new
UNC, prefix path and ip address.

Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Cc: stable@vger.kernel.org # 5.11
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/connect.c