fix the timeout conditional and error handling so that all directory
entries will be processed.
now there is a problem in which transitioning from no tokens to tokens
does not result in refreshed data. something to look into.
(cherry picked from commit
cb395ac70a2387723b0eceb33afe293d2cbfbf71)
return code;
}
- osi_Log1(afsd_logp, "GetAccess parent scp %x user %x", aclScp, userp);
+ osi_Log2(afsd_logp, "GetAccess parent scp %x user %x", aclScp, userp);
lock_ObtainMutex(&aclScp->mx);
code = cm_GetCallback(aclScp, userp, reqp, 1);
extern unsigned short ConnDeadtimeout;
extern unsigned short HardDeadtimeout;
+extern long RDRtimeout;
typedef struct cm_conn {
struct cm_conn *nextp; /* locked by cm_connLock */
statusp->Group = 0;
statusp->SyncCounter = 0;
statusp->dataVersionHigh = 0;
+ statusp->errorCode = 0;
}
#endif /* AFS_FREELANCE_CLIENT */
+ if (statusp->errorCode != 0) {
+ osi_Log2(afsd_logp, "Merge, Failure scp %x code 0x%x", scp, statusp->errorCode);
+ return;
+ }
+
if (!(flags & CM_MERGEFLAG_FORCE)
&& statusp->DataVersion < (unsigned long) scp->dataVersion) {
struct cm_cell *cellp;
} /* while there are still more files to process */
lock_ObtainMutex(&dscp->mx);
+#if 0
/* If we did the InlineBulk RPC pull out the return code */
if (inlinebulk) {
if ((&bb.stats[0])->errorCode) {
userp, reqp, &dscp->fid, &volSync, NULL, NULL, (&bb.stats[0])->errorCode);
code = cm_MapRPCError((&bb.stats[0])->errorCode, reqp);
}
- } else {
+ } else
+#endif
+ {
code = 0;
}
scp->bulkStatProgress)) {
/* Don't bulk stat if risking timeout */
int now = GetTickCount();
- if (now - req.startTime < 5000) {
+ if (now - req.startTime > RDRtimeout) {
scp->bulkStatProgress = thyper;
scp->flags &= ~CM_SCACHEFLAG_BULKSTATTING;
dsp->flags &= ~SMB_DIRSEARCH_BULKST;
LargeIntegerGreaterThanOrEqualTo(thyper, scp->bulkStatProgress)) {
/* Don't bulk stat if risking timeout */
int now = GetTickCount();
- if (now - req.startTime < 5000) {
+ if (now - req.startTime > RDRtimeout) {
scp->bulkStatProgress = thyper;
scp->flags &= ~CM_SCACHEFLAG_BULKSTATTING;
dsp->flags &= ~SMB_DIRSEARCH_BULKST;