tdb->getlabel = uphys_getlabel;
tdb->setlabel = uphys_setlabel;
tdb->getnfiles = uphys_getnfiles;
+ tdb->buffered_append = uphys_buf_append;
tdb->readers = 0;
tdb->tidCounter = tdb->writeTidCounter = 0;
*dbase = tdb;
ubik_dbase = tdb; /* for now, only one db per server; can fix later when we have names for the other dbases */
#ifdef AFS_PTHREAD_ENV
- opr_cv_init(&tdb->version_cond);
opr_cv_init(&tdb->flags_cond);
#endif /* AFS_PTHREAD_ENV */
rx_NewService(0, VOTE_SERVICE_ID, "VOTE", ubik_sc, numClasses,
VOTE_ExecuteRequest);
if (tservice == (struct rx_service *)0) {
- ViceLog(5, ("Could not create VOTE rx service!\n"));
+ ViceLog(0, ("Could not create VOTE rx service!\n"));
return -1;
}
rx_SetMinProcs(tservice, 2);
rx_NewService(0, DISK_SERVICE_ID, "DISK", ubik_sc, numClasses,
DISK_ExecuteRequest);
if (tservice == (struct rx_service *)0) {
- ViceLog(5, ("Could not create DISK rx service!\n"));
+ ViceLog(0, ("Could not create DISK rx service!\n"));
return -1;
}
rx_SetMinProcs(tservice, 2);
}
/*!
- * \brief utility to wait for a version # to change
- */
-int
-ubik_WaitVersion(struct ubik_dbase *adatabase,
- struct ubik_version *aversion)
-{
- DBHOLD(adatabase);
- while (1) {
- /* wait until version # changes, and then return */
- if (vcmp(*aversion, adatabase->version) != 0) {
- DBRELE(adatabase);
- return 0;
- }
-#ifdef AFS_PTHREAD_ENV
- opr_cv_wait(&adatabase->version_cond, &adatabase->versionLock);
-#else
- DBRELE(adatabase);
- LWP_WaitProcess(&adatabase->version); /* same vers, just wait */
- DBHOLD(adatabase);
-#endif
- }
-}
-
-/*!
- * \brief utility to get the version of the dbase a transaction is dealing with
- */
-int
-ubik_GetVersion(struct ubik_trans *atrans,
- struct ubik_version *avers)
-{
- DBHOLD(atrans->dbase);
- *avers = atrans->dbase->version;
- DBRELE(atrans->dbase);
- return 0;
-}
-
-/*!
* \brief Facility to simplify database caching.
* \return zero if last trans was done on the local server and was successful.
* \return -1 means bad (NULL) argument.
va_end(ap);
abort();
- ViceLog(0, ("BACK FROM ABORT\n")); /* shouldn't come back */
- exit(1); /* never know, though */
+ AFS_UNREACHED(ViceLog(0, ("BACK FROM ABORT\n")));
+ AFS_UNREACHED(exit(1));
}
/*!