Commit c1846893 authored by Shyam Prasad N's avatar Shyam Prasad N Committed by Steve French
Browse files

cifs: update dstaddr whenever channel iface is updated



When the server interface info changes (more common in clustered
servers like Azure Files), the per-channel iface gets updated.
However, this did not update the corresponding dstaddr. As a result
these channels will still connect (or try connecting) to older addresses.

Fixes: b54034a7 ("cifs: during reconnect, update interface if necessary")
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarShyam Prasad N <sprasad@microsoft.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 1f396b9b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -445,6 +445,10 @@ cifs_chan_update_iface(struct cifs_ses *ses, struct TCP_Server_Info *server)

	ses->chans[chan_index].iface = iface;
	spin_unlock(&ses->chan_lock);

	spin_lock(&server->srv_lock);
	memcpy(&server->dstaddr, &iface->sockaddr, sizeof(server->dstaddr));
	spin_unlock(&server->srv_lock);
}

static int