Coda Distributed File System
Macros | Functions | Variables
rvm_logrecovr.c File Reference
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/file.h>
#include <sys/time.h>
#include <errno.h>
#include "rvm_private.h"
Include dependency graph for rvm_logrecovr.c:

Macros

#define ZERO   0
 
#define NODES_PER_YIELD   1000000
 
#define X(a)
 

Functions

rvm_return_t alloc_log_buf (log_t *log)
 
void free_log_buf (log_t *log)
 
rvm_return_t init_buffer (log_t *log, rvm_offset_t *offset, rvm_bool_t direction, rvm_bool_t synch)
 
rvm_return_t load_aux_buf (log_t *log, rvm_offset_t *log_offset, rvm_length_t length, rvm_length_t *aux_ptr, rvm_length_t *data_len, rvm_bool_t synch, rvm_bool_t pre_load)
 
void clear_aux_buf (log_t *log)
 
rvm_bool_t chk_hdr_currency (log_t *log, rec_hdr_t *rec_hdr)
 
void reset_hdr_chks (log_t *log)
 
rvm_bool_t chk_hdr_sequence (log_t *log, rec_hdr_t *rec_hdr, rvm_bool_t direction)
 
rvm_bool_t validate_hdr (log_t *log, rec_hdr_t *rec_hdr, rec_end_t *rec_end, rvm_bool_t direction)
 
rvm_return_t scan_nv_forward (log_t *log, rvm_bool_t synch)
 
rvm_return_t scan_forward (log_t *log, rvm_bool_t synch)
 
rvm_return_t scan_wrap_reverse (log_t *log, rvm_bool_t synch)
 
rvm_return_t validate_rec_reverse (log_t *log, rvm_bool_t synch)
 
rvm_return_t scan_reverse (log_t *log, rvm_bool_t synch)
 
rvm_return_t locate_tail (log_t *log)
 
rvm_return_t enter_seg_dict (log_t *log, long seg_code)
 
rvm_return_t def_seg_dict (log_t *log, rec_hdr_t *rec_hdr)
 
rvm_return_t log_recover (log_t *log, rvm_length_t *count, rvm_bool_t is_daemon, rvm_length_t flag)
 
rvm_return_t rvm_truncate ()
 
rvm_bool_t initiate_truncation (log_t *log, rvm_length_t threshold)
 
rvm_return_t wait_for_truncation (log_t *log, struct timeval *time_stamp)
 
void log_daemon (void *arg)
 

Variables

log_tdefault_log
 
list_entry_t seg_root
 
rw_lock_t seg_root_lock
 
rvm_bool_t rvm_utlsw
 
char * rvm_errmsg
 
rvm_bool_t rvm_no_yield = rvm_false
 
rvm_length_t rvm_num_nodes
 
rvm_length_t rvm_max_depth
 
chk_vec_trvm_chk_vec = NULL
 
rvm_length_t rvm_chk_len = 0
 
rvm_monitor_call_trvm_monitor = NULL
 
rvm_signal_call_trvm_chk_sigint
 
rvm_length_t truncation_times_vec [truncation_times_len]
 
rvm_bool_t rvm_no_update
 
rvm_bool_t rvm_replay
 
rvm_bool_t rvm_chk_sum
 
rvm_bool_t rvm_shadow_buf
 
char * tst_buf
 

Macro Definition Documentation

◆ NODES_PER_YIELD

#define NODES_PER_YIELD   1000000

◆ X

#define X (   a)

◆ ZERO

#define ZERO   0

Function Documentation

◆ alloc_log_buf()

rvm_return_t alloc_log_buf ( log_t log)

◆ chk_hdr_currency()

rvm_bool_t chk_hdr_currency ( log_t log,
rec_hdr_t rec_hdr 
)

◆ chk_hdr_sequence()

rvm_bool_t chk_hdr_sequence ( log_t log,
rec_hdr_t rec_hdr,
rvm_bool_t  direction 
)

◆ clear_aux_buf()

void clear_aux_buf ( log_t log)

◆ def_seg_dict()

rvm_return_t def_seg_dict ( log_t log,
rec_hdr_t rec_hdr 
)

◆ enter_seg_dict()

rvm_return_t enter_seg_dict ( log_t log,
long  seg_code 
)

◆ free_log_buf()

void free_log_buf ( log_t log)

◆ init_buffer()

rvm_return_t init_buffer ( log_t log,
rvm_offset_t offset,
rvm_bool_t  direction,
rvm_bool_t  synch 
)

◆ initiate_truncation()

rvm_bool_t initiate_truncation ( log_t log,
rvm_length_t  threshold 
)

◆ load_aux_buf()

rvm_return_t load_aux_buf ( log_t log,
rvm_offset_t log_offset,
rvm_length_t  length,
rvm_length_t aux_ptr,
rvm_length_t data_len,
rvm_bool_t  synch,
rvm_bool_t  pre_load 
)

◆ locate_tail()

rvm_return_t locate_tail ( log_t log)

◆ log_daemon()

void log_daemon ( void *  arg)

◆ log_recover()

rvm_return_t log_recover ( log_t log,
rvm_length_t count,
rvm_bool_t  is_daemon,
rvm_length_t  flag 
)

◆ reset_hdr_chks()

void reset_hdr_chks ( log_t log)

◆ rvm_truncate()

rvm_return_t rvm_truncate ( void  )

◆ scan_forward()

rvm_return_t scan_forward ( log_t log,
rvm_bool_t  synch 
)

◆ scan_nv_forward()

rvm_return_t scan_nv_forward ( log_t log,
rvm_bool_t  synch 
)

◆ scan_reverse()

rvm_return_t scan_reverse ( log_t log,
rvm_bool_t  synch 
)

◆ scan_wrap_reverse()

rvm_return_t scan_wrap_reverse ( log_t log,
rvm_bool_t  synch 
)

◆ validate_hdr()

rvm_bool_t validate_hdr ( log_t log,
rec_hdr_t rec_hdr,
rec_end_t rec_end,
rvm_bool_t  direction 
)

◆ validate_rec_reverse()

rvm_return_t validate_rec_reverse ( log_t log,
rvm_bool_t  synch 
)

◆ wait_for_truncation()

rvm_return_t wait_for_truncation ( log_t log,
struct timeval *  time_stamp 
)

Variable Documentation

◆ default_log

log_t* default_log
extern

◆ rvm_chk_len

rvm_length_t rvm_chk_len = 0

◆ rvm_chk_sigint

rvm_signal_call_t* rvm_chk_sigint

◆ rvm_chk_sum

rvm_bool_t rvm_chk_sum

◆ rvm_chk_vec

chk_vec_t* rvm_chk_vec = NULL

◆ rvm_errmsg

char* rvm_errmsg
extern

◆ rvm_max_depth

rvm_length_t rvm_max_depth

◆ rvm_monitor

rvm_monitor_call_t* rvm_monitor = NULL

◆ rvm_no_update

rvm_bool_t rvm_no_update

◆ rvm_no_yield

rvm_bool_t rvm_no_yield = rvm_false

◆ rvm_num_nodes

rvm_length_t rvm_num_nodes

◆ rvm_replay

rvm_bool_t rvm_replay

◆ rvm_shadow_buf

rvm_bool_t rvm_shadow_buf

◆ rvm_utlsw

rvm_bool_t rvm_utlsw
extern

◆ seg_root

list_entry_t seg_root
extern

◆ seg_root_lock

rw_lock_t seg_root_lock
extern

◆ truncation_times_vec

rvm_length_t truncation_times_vec[truncation_times_len]
Initial value:
= {
}
#define truncation_times_dist
Definition: rvm_statistics.h:40

◆ tst_buf

char* tst_buf