David Howells <dhowells@xxxxxxxxxx> writes: > Paulo Alcantara <pc@xxxxxx> wrote: > >> >> For SMB3/CIFS mounts, Paulo added support last year for automatic >> >> reconnect if the IP address of the server changes. It also is helpful >> >> when DFS (global name space) addresses change. >> > >> > What happens if the IP address the superblock is going to changes, then >> > another mount is made back to the original IP address? Does the second mount >> > just pick the original superblock? >> >> It is going to transparently reconnect to the new ip address, SMB share, >> and cifs superblock is kept unchanged. We, however, update internal >> TCP_Server_Info structure to reflect new destination ip address. >> >> For the second mount, since the hostname (extracted out of the UNC path >> at mount time) resolves to a new ip address and that address was saved earlier >> in TCP_Server_Info structure during reconnect, we will end up >> reusing same cifs superblock as per fs/cifs/connect.c:cifs_match_super(). > > Would that be a bug? Probably. I'm not sure how that code is supposed to work, TBH.