98#define rvmlib_begin_transaction(restore_mode) \ 
   99    _rvmlib_begin_transaction(restore_mode, __FILE__, __LINE__); 
  109#define CODA_STACK_LENGTH 0x20000  
  110#define LOGTHRESHOLD 50 
  115#define RVMLIB_ASSERT(errmsg)                           \ 
  117        fprintf(stderr, "RVMLIB_ASSERT: %s\n", errmsg); \
 
  119        coda_assert("0", __FILE__, __LINE__);           \
 
  122#define rvmlib_rec_malloc(size) rvmlib_malloc(size, __FILE__, __LINE__) 
  123#define rvmlib_rec_free(addr) rvmlib_free(addr, __FILE__, __LINE__) 
  124#define rvmlib_rec_strdup(size) rvmlib_strdup(size, __FILE__, __LINE__) 
  126#define RVMLIB_REC_OBJECT(object) rvmlib_set_range(&(object), sizeof(object)) 
  129#define rvmlib_intrans() rvmlib_check_trans(__FUNCTION__, __FILE__) 
  133#define RVMLIB_MODIFY(object, newValue)                                       \ 
  135        rvm_perthread_t *_rvm_data = rvmlib_thread_data();                    \ 
  137            (object) = (newValue);                                            \ 
  138        else if (RvmType == RAWIO ||                                          \ 
  140            rvm_return_t ret = rvm_set_range(_rvm_data->tid, (char *)&object, \ 
  142            if (ret != RVM_SUCCESS)                                           \ 
  143                printf("Modify Bytes error %s\n", rvm_return(ret));           \
 
  144            CODA_ASSERT(ret == RVM_SUCCESS);                                  \
 
  145            (object) = (newValue);                                            \
 
#define REQUIRES_TRANSACTION
Definition: coda_tsa.h:107
 
#define ENDS_TRANSACTION
Definition: coda_tsa.h:106
 
#define BEGINS_TRANSACTION
Definition: coda_tsa.h:105
 
FILE * file
Definition: dirtest.c:723
 
int line
Definition: advice_parser.c:54
 
int rvm_return_t
Definition: rvm.h:94
 
void rvmlib_abort(int) ENDS_TRANSACTION
Definition: rvmlib.c:159
 
void rvmlib_set_thread_data(void *)
Definition: rvmlib.c:58
 
void rvmlib_modify_bytes(void *dest, const void *newval, int len) REQUIRES_TRANSACTION
Definition: rvmlib.c:200
 
void rvmlib_set_range(void *base, unsigned long size) REQUIRES_TRANSACTION
Definition: rvmlib.c:184
 
char * rvmlib_strdup(const char *src, const char *file, int line) REQUIRES_TRANSACTION
Definition: rvmlib.c:206
 
long rvm_no_yield
Definition: rvm_logrecovr.c:46
 
void _rvmlib_begin_transaction(int restore_mode, const char file[], int line) BEGINS_TRANSACTION
Definition: rvmlib.c:65
 
void * rvmlib_malloc(unsigned long size, const char *file, int line) REQUIRES_TRANSACTION
Definition: rvmlib.c:217
 
int rvmlib_in_transaction(void)
Definition: rvmlib.c:282
 
rvm_type_t
Definition: rvmlib.h:52
 
@ UFS
Definition: rvmlib.h:55
 
@ RAWIO
Definition: rvmlib.h:54
 
@ VM
Definition: rvmlib.h:56
 
@ UNSET
Definition: rvmlib.h:53
 
void rvmlib_free(void *p, const char *file, int line) REQUIRES_TRANSACTION
Definition: rvmlib.c:248
 
void rvmlib_check_trans(char *where, char *file)
Definition: rvmlib.c:272
 
void rvmlib_init_threaddata(rvm_perthread_t *rvmptt)
Definition: rvmlib.c:36
 
rvm_perthread_t * rvmlib_thread_data(void)
Definition: rvmlib.c:48
 
int optimizationson
Definition: srv.cc:135
 
rvm_type_t RvmType
Definition: rvmlib.c:34
 
void rvmlib_end_transaction(int flush_mode, rvm_return_t *statusp) ENDS_TRANSACTION
Definition: rvmlib.c:109
 
rvm_tid_t * tid
Definition: rvmlib.h:60
 
intentionList_t list
Definition: rvmlib.h:63
 
int line
Definition: rvmlib.h:67
 
rvm_tid_t tids
Definition: rvmlib.h:61
 
const char * file
Definition: rvmlib.h:66