viced-probe-uuid-on-old-connection-20060210
authorJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 10 Feb 2006 17:10:44 +0000 (17:10 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 10 Feb 2006 17:10:44 +0000 (17:10 +0000)
When we have found an existing host via Uuid, send the probe to the
connection associated with the old host instead of the new one.  If
you send it to the new connection, we will fail to detect that the
old host is no longer responding and hence that it should be removed.
This should solve the 55 second delay problem seen from clients with
Uuids that move addresses or sit behind a NAT.

src/viced/host.c

index 99ce60b..4e6aa6c 100644 (file)
@@ -1306,7 +1306,7 @@ h_GetHost_r(struct rx_connection *tcon)
 
                     if (oldHost->interface) {
                        afsUUID uuid = oldHost->interface->uuid;
-                        cb_conn = host->callback_rxcon;
+                        cb_conn = oldHost->callback_rxcon;
                         rx_GetConnection(cb_conn);
                        H_UNLOCK;
                        code = RXAFSCB_ProbeUuid(cb_conn, &uuid);