if (transMode == UBIK_WRITETRANS) {
/* for a write trans, we have to keep track of the write tid counter too */
dbase->writeTidCounter = tt->tid.counter;
+ }
+
+ UBIK_VERSION_UNLOCK;
+ if (transMode == UBIK_WRITETRANS) {
/* next try to start transaction on appropriate number of machines */
code = ContactQuorum_NoArguments(DISK_Begin, tt, 0);
if (code) {
udisk_abort(tt);
ContactQuorum_NoArguments(DISK_Abort, tt, 0); /* force aborts to the others */
udisk_end(tt);
- UBIK_VERSION_UNLOCK;
DBRELE(dbase);
return code;
}
}
*transPtr = tt;
- UBIK_VERSION_UNLOCK;
DBRELE(dbase);
return 0;
}