#define _VOLSER_ 1
#ifdef AFS_PTHREAD_ENV
-#include <assert.h>
#include <pthread.h>
#endif
#define volser_RW 0
#define volser_RO 1
#define volser_BACK 2
+#define volser_RWREPL 3
#define THOLD(tt) ((tt)->refCount++)
#ifdef AFS_PTHREAD_ENV
#define VTRANS_OBJ_LOCK_INIT(tt) \
- assert(pthread_mutex_init(&((tt)->lock),NULL) == 0)
+ MUTEX_INIT(&((tt)->lock), "vtrans obj", MUTEX_DEFAULT, 0);
#define VTRANS_OBJ_LOCK_DESTROY(tt) \
- assert(pthread_mutex_destroy(&((tt)->lock)) == 0)
+ MUTEX_DESTROY(&((tt)->lock))
#define VTRANS_OBJ_LOCK(tt) \
- assert(pthread_mutex_lock(&((tt)->lock)) == 0)
+ MUTEX_ENTER(&((tt)->lock))
#define VTRANS_OBJ_UNLOCK(tt) \
- assert(pthread_mutex_unlock(&((tt)->lock)) == 0)
+ MUTEX_EXIT(&((tt)->lock))
#else
#define VTRANS_OBJ_LOCK_INIT(tt)
#define VTRANS_OBJ_LOCK_DESTROY(tt)
#define ITSROVOL 0x02
#define ITSRWVOL 0x04
#define ITSBACKVOL 0x08
+#define ITSRWREPL 0x10
#define RO_DONTUSE 0x20
#define VLOP_RESTORE 0x100 /*this is bogus, clashes with VLOP_DUMP */
#define RV_NOVLDB 0x040000
#define RV_NOCLONE 0x080000
#define RV_NODEL 0x100000
+#define RV_RWONLY 0x200000
struct ubik_client;
extern afs_uint32 vsu_GetVolumeID(char *astring, struct ubik_client *acstruct, afs_int32 *errp);