lock_ObtainWrite(&scp->rw);
cm_ReleaseBIOD(&biod, 1, code, 1);
- cm_SyncOpDone(scp, NULL, CM_SCACHESYNC_STOREDATA_EXCL);
if (code == 0) {
osi_hyper_t t;
else if (code == CM_ERROR_QUOTA)
scp->flags |= CM_SCACHEFLAG_OVERQUOTA;
}
+ cm_SyncOpDone(scp, NULL, CM_SCACHESYNC_STOREDATA_EXCL);
+
if (!scp_locked)
lock_ReleaseWrite(&scp->rw);
/* now, clean up our state */
lock_ObtainWrite(&scp->rw);
- cm_SyncOpDone(scp, NULL, CM_SCACHESYNC_STOREDATA_EXCL);
-
if (code == 0) {
osi_hyper_t t;
/*
scp->mask &= ~CM_SCACHEMASK_LENGTH;
cm_MergeStatus(NULL, scp, &outStatus, &volSync, userp, reqp, CM_MERGEFLAG_STOREDATA);
}
+ cm_SyncOpDone(scp, NULL, CM_SCACHESYNC_STOREDATA_EXCL);
return code;
}