{
int zilch;
cm_scache_t *scp;
+ osi_queue_t *q;
char output[2048];
int i;
WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
if (scp->fileLocksH) {
- osi_queue_t *q;
-
- sprintf(output, " %s - begin dumping all locks\r\n", cookie);
+ sprintf(output, " %s - begin dumping scp locks\r\n", cookie);
WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
for (q = scp->fileLocksH; q; q = osi_QNext(q)) {
WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
}
- sprintf(output, " %s - done dumping all locks\r\n", cookie);
+ sprintf(output, " %s - done dumping scp locks\r\n", cookie);
WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
}
}
sprintf(output, "%s - Done dumping cm_data.scacheHashTable\r\n", cookie);
WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+ sprintf(output, "%s - begin dumping all file locks\r\n", cookie);
+ WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+ for (q = cm_allFileLocks; q; q = osi_QNext(q)) {
+ cm_file_lock_t * lockp = (cm_file_lock_t *)q;
+ sprintf(output, "%s filelockp=0x%p scp=0x%p, cm_userp=0x%p offset=0x%I64x len=0x%08I64x type=0x%x key=0x%I64x flags=0x%x update=0x%I64u\r\n",
+ cookie, lockp, lockp->scp, lockp->userp, lockp->range.offset, lockp->range.length,
+ lockp->lockType, lockp->key, lockp->flags, (afs_uint64)lockp->lastUpdate);
+ WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+ }
+ sprintf(output, "%s - done dumping all file locks\r\n", cookie);
+ WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
if (lock)
lock_ReleaseRead(&cm_scacheLock);
lock_ObtainWrite(&cm_serverLock);
for (tsrp = statep->serversp; tsrp; tsrp=tsrp->next) {
tsp = tsrp->server;
- cm_GetServerNoLock(tsp);
- if (!(tsp->flags & CM_SERVERFLAG_DOWN)) {
- allDown = 0;
- if (tsrp->status == srv_busy) {
- allOffline = 0;
- someBusy = 1;
- } else if (tsrp->status == srv_offline) {
- allBusy = 0;
- someOffline = 1;
- } else {
- allOffline = 0;
- allBusy = 0;
+ if (tsp) {
+ cm_GetServerNoLock(tsp);
+ if (!(tsp->flags & CM_SERVERFLAG_DOWN)) {
+ allDown = 0;
+ if (tsrp->status == srv_busy) {
+ allOffline = 0;
+ someBusy = 1;
+ } else if (tsrp->status == srv_offline) {
+ allBusy = 0;
+ someOffline = 1;
+ } else {
+ allOffline = 0;
+ allBusy = 0;
+ }
}
+ cm_PutServerNoLock(tsp);
}
- cm_PutServerNoLock(tsp);
}
lock_ReleaseWrite(&cm_serverLock);