The UNIX cache manager does not implement hard dead timeouts
on file server connections. The Windows cache manager had to
because of the SMB connection timeout requirements. For the
AFS redirector there is no timeout requirement. Therefore,
when the SMB stack is disabled the Windows cache manager can
disable the hard dead timeout.
The idle dead timeouts are in place to cancel connections when
file servers stop replying with real data.
Change-Id: I44f77b78a52e7cac3a88a53830748b77f3ff4000
Reviewed-on: http://gerrit.openafs.org/8828
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
/* timeleft - get it from reqp the same way as cm_ConnByMServers does */
timeUsed = (GetTickCount() - reqp->startTime) / 1000;
- if ( reqp->flags & CM_REQ_SOURCE_SMB )
+ if ( (reqp->flags & CM_REQ_SOURCE_SMB) ||
+ (serverp && serverp->type == CM_SERVER_VLDB))
timeLeft = HardDeadtimeout - timeUsed;
else
timeLeft = 0x0FFFFFFF;
secObjp,
secIndex);
rx_SetConnDeadTime(tcp->rxconnp, ConnDeadtimeout);
- rx_SetConnHardDeadTime(tcp->rxconnp, HardDeadtimeout);
+ if (smb_Enabled || tcp->serverp->type == CM_SERVER_VLDB)
+ rx_SetConnHardDeadTime(tcp->rxconnp, HardDeadtimeout);
/*
* Setting idle dead timeout to a non-zero value activates RX_CALL_IDLE errors