mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 23:10:58 +00:00
STABLE12-viced-vbusy-when-getclient-fails-20030317
more paranoia to not crash if GetClient fails, since there's apparently a
race we haven't found yet
(cherry picked from commit 4f35fbb680
)
This commit is contained in:
parent
fb45c4e0bf
commit
5020cd875f
@ -1492,6 +1492,19 @@ int GetClient(tcon, cp)
|
||||
H_LOCK
|
||||
|
||||
*cp = client = (struct client *) rx_GetSpecific(tcon, rxcon_client_key);
|
||||
if (client == NULL || client->tcon == NULL) {
|
||||
ViceLog(0, ("GetClient: no client in conn %x (host %x), VBUSYING\n",
|
||||
tcon, rx_HostOf(rx_PeerOf(tcon))));
|
||||
H_UNLOCK
|
||||
return VBUSY;
|
||||
}
|
||||
if (rxr_CidOf(client->tcon) != client->sid) {
|
||||
ViceLog(0, ("GetClient: tcon %x tcon sid %d client sid %d\n",
|
||||
client->tcon, rxr_CidOf(client->tcon),
|
||||
client->sid));
|
||||
H_UNLOCK
|
||||
return VBUSY;
|
||||
}
|
||||
if (!(client && client->tcon && rxr_CidOf(client->tcon) == client->sid)) {
|
||||
if (!client)
|
||||
ViceLog(0, ("GetClient: no client in conn %x\n", tcon));
|
||||
|
Loading…
Reference in New Issue
Block a user