/* now, clean up our state */
lock_ObtainWrite(&scp->rw);
- cm_ReleaseBIOD(&biod, 1, code, 1);
-
if (code == 0) {
osi_hyper_t t;
/* now, here's something a little tricky: in AFS 3, a dirty
else if (code == CM_ERROR_QUOTA)
_InterlockedOr(&scp->flags, CM_SCACHEFLAG_OVERQUOTA);
}
+
+ cm_ReleaseBIOD(&biod, 1, code, 1);
cm_SyncOpDone(scp, NULL, CM_SCACHESYNC_STOREDATA_EXCL);
if (!scp_locked)
}
}
- /* release scatter/gather I/O structure (buffers, locks) */
- cm_ReleaseBIOD(&biod, 0, code, 1);
-
if (code == 0)
cm_MergeStatus(NULL, scp, &afsStatus, &volSync, userp, reqp, CM_MERGEFLAG_FETCHDATA);
else
InterlockedDecrement(&scp->activeRPCs);
+ /* release scatter/gather I/O structure (buffers, locks) */
+ cm_ReleaseBIOD(&biod, 0, code, 1);
+
return code;
}