if (code)
return code;
- lock_ObtainWrite(&vscp->rw);
- code = cm_SyncOp(vscp, NULL, userp, reqp, PRSFS_READ,
- CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
- lock_ReleaseWrite(&vscp->rw);
- if (code)
- return code;
-
Name = volName;
OfflineMsg = offLineMsg;
MOTD = motd;
} while (cm_Analyze(connp, userp, reqp, &vfid, NULL, 0, NULL, NULL, NULL, NULL, code));
code = cm_MapRPCError(code, reqp);
- lock_ObtainWrite(&vscp->rw);
- cm_SyncOpDone(vscp, NULL, CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
- lock_ReleaseWrite(&vscp->rw);
cm_ReleaseSCache(vscp);
}
cp = cm_ParseIoctlStringAlloc(ioctlp, NULL);
code = cm_Lookup(dscp, cp[0] ? cp : L".", CM_FLAG_NOMOUNTCHASE, userp, reqp, &scp);
- if (code)
+ if (code && code != CM_ERROR_INEXACT_MATCH)
goto done_2;
lock_ObtainWrite(&scp->rw);
code = cm_Lookup(dscp, cp[0] ? cp : L".", CM_FLAG_NOMOUNTCHASE, userp, reqp, &scp);
/* if something went wrong, bail out now */
- if (code)
+ if (code && code != CM_ERROR_INEXACT_MATCH)
goto done3;
lock_ObtainWrite(&scp->rw);
/* now return the current down server list */
cp = ioctlp->outDatap;
lock_ObtainRead(&cm_serverLock);
- for (tsp = cm_allServersp; tsp; tsp=tsp->allNextp) {
+ for (tsp = cm_serversAllFirstp;
+ tsp;
+ tsp = (cm_server_t *)osi_QNext(&tsp->allq)) {
if (cellp && tsp->cellp != cellp)
continue; /* cell spec'd and wrong */
if (tsp->flags & CM_SERVERFLAG_DOWN) {
* is up, do not report the server as down.
*/
if (tsp->type == CM_SERVER_FILE) {
- for (csp = cm_allServersp; csp; csp=csp->allNextp) {
+ for (csp = cm_serversAllFirstp;
+ csp;
+ csp = (cm_server_t *)osi_QNext(&csp->allq)) {
if (csp->type == CM_SERVER_FILE &&
!(csp->flags & CM_SERVERFLAG_DOWN) &&
afs_uuid_equal(&tsp->uuid, &csp->uuid)) {
lock_ObtainRead(&cm_serverLock); /* get server lock */
- for (tsp=cm_allServersp, i=0; tsp && noServers; tsp=tsp->allNextp,i++){
+ for (tsp = cm_serversAllFirstp, i=0;
+ tsp && noServers;
+ tsp = (cm_server_t *)osi_QNext(&tsp->allq),i++){
if (spin->offset > i) {
continue; /* catch up to where we left off */
}
clientp = cm_Utf8ToClientStringAlloc(cp, -1, NULL);
code = cm_Lookup(dscp, clientp[0] ? clientp : L".", CM_FLAG_NOMOUNTCHASE, userp, reqp, &scp);
free(clientp);
- if (code)
+ if (code && code != CM_ERROR_INEXACT_MATCH)
return code;
/* Check that it's a real symlink */
clientp = cm_Utf8ToClientStringAlloc(cp, -1, NULL);
code = cm_Lookup(dscp, clientp[0] ? clientp : L".", CM_FLAG_NOMOUNTCHASE, userp, reqp, &scp);
free(clientp);
- if (code)
+ if (code && code != CM_ERROR_INEXACT_MATCH)
return code;
/* Check that it's a real symlink */
code = cm_Lookup(dscp, clientp[0] ? clientp : L".", CM_FLAG_NOMOUNTCHASE, userp, reqp, &scp);
/* if something went wrong, bail out now */
- if (code)
+ if (code && code != CM_ERROR_INEXACT_MATCH)
goto done3;
lock_ObtainWrite(&scp->rw);