Loading fs/cifs/connect.c +31 −33 Original line number Diff line number Diff line Loading @@ -1362,45 +1362,43 @@ find_unc(__be32 new_target_ip_addr, char *uncName, char *userName) { struct list_head *tmp; struct cifsTconInfo *tcon; __be32 old_ip; read_lock(&GlobalSMBSeslock); list_for_each(tmp, &GlobalTreeConnectionList) { cFYI(1, ("Next tcon")); tcon = list_entry(tmp, struct cifsTconInfo, cifsConnectionList); if (tcon->ses) { if (tcon->ses->server) { cFYI(1, ("old ip addr: %x == new ip %x ?", tcon->ses->server->addr.sockAddr.sin_addr. s_addr, new_target_ip_addr)); if (tcon->ses->server->addr.sockAddr.sin_addr. s_addr == new_target_ip_addr) { /* BB lock tcon, server and tcp session and increment use count here? */ if (!tcon->ses || !tcon->ses->server) continue; old_ip = tcon->ses->server->addr.sockAddr.sin_addr.s_addr; cFYI(1, ("old ip addr: %x == new ip %x ?", old_ip, new_target_ip_addr)); if (old_ip != new_target_ip_addr) continue; /* BB lock tcon, server, tcp session and increment use count? */ /* found a match on the TCP session */ /* BB check if reconnection needed */ cFYI(1, ("IP match, old UNC: %s new: %s", cFYI(1, ("IP match, old UNC: %s new: %s", tcon->treeName, uncName)); if (strncmp (tcon->treeName, uncName, MAX_TREE_SIZE) == 0) { cFYI(1, ("and old usr: %s new: %s", if (strncmp(tcon->treeName, uncName, MAX_TREE_SIZE)) continue; cFYI(1, ("and old usr: %s new: %s", tcon->treeName, uncName)); if (strncmp (tcon->ses->userName, userName, MAX_USERNAME_SIZE) == 0) { if (strncmp(tcon->ses->userName, userName, MAX_USERNAME_SIZE)) continue; /* matched smb session (user name) */ read_unlock(&GlobalSMBSeslock); /* matched smb session (user name */ return tcon; } } } } } } read_unlock(&GlobalSMBSeslock); return NULL; } Loading Loading
fs/cifs/connect.c +31 −33 Original line number Diff line number Diff line Loading @@ -1362,45 +1362,43 @@ find_unc(__be32 new_target_ip_addr, char *uncName, char *userName) { struct list_head *tmp; struct cifsTconInfo *tcon; __be32 old_ip; read_lock(&GlobalSMBSeslock); list_for_each(tmp, &GlobalTreeConnectionList) { cFYI(1, ("Next tcon")); tcon = list_entry(tmp, struct cifsTconInfo, cifsConnectionList); if (tcon->ses) { if (tcon->ses->server) { cFYI(1, ("old ip addr: %x == new ip %x ?", tcon->ses->server->addr.sockAddr.sin_addr. s_addr, new_target_ip_addr)); if (tcon->ses->server->addr.sockAddr.sin_addr. s_addr == new_target_ip_addr) { /* BB lock tcon, server and tcp session and increment use count here? */ if (!tcon->ses || !tcon->ses->server) continue; old_ip = tcon->ses->server->addr.sockAddr.sin_addr.s_addr; cFYI(1, ("old ip addr: %x == new ip %x ?", old_ip, new_target_ip_addr)); if (old_ip != new_target_ip_addr) continue; /* BB lock tcon, server, tcp session and increment use count? */ /* found a match on the TCP session */ /* BB check if reconnection needed */ cFYI(1, ("IP match, old UNC: %s new: %s", cFYI(1, ("IP match, old UNC: %s new: %s", tcon->treeName, uncName)); if (strncmp (tcon->treeName, uncName, MAX_TREE_SIZE) == 0) { cFYI(1, ("and old usr: %s new: %s", if (strncmp(tcon->treeName, uncName, MAX_TREE_SIZE)) continue; cFYI(1, ("and old usr: %s new: %s", tcon->treeName, uncName)); if (strncmp (tcon->ses->userName, userName, MAX_USERNAME_SIZE) == 0) { if (strncmp(tcon->ses->userName, userName, MAX_USERNAME_SIZE)) continue; /* matched smb session (user name) */ read_unlock(&GlobalSMBSeslock); /* matched smb session (user name */ return tcon; } } } } } } read_unlock(&GlobalSMBSeslock); return NULL; } Loading