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

Macros

#define PAGE_ALLOC_DEFINED
 

Functions

void init_map_roots ()
 
rvm_return_t bad_region (rvm_region_t *rvm_region)
 
rvm_bool_t rvm_register_page (char *vmaddr, rvm_length_t length)
 
rvm_bool_t rvm_unregister_page (char *vmaddr, rvm_length_t length)
 
char * page_alloc (rvm_length_t len)
 
void page_free (char *vmaddr, rvm_length_t length)
 
rvm_return_t close_all_segs ()
 
seg_tseg_lookup (char *dev_name, rvm_return_t *retval)
 
rvm_return_t define_all_segs (log_t *log)
 
long dev_partial_include (rvm_offset_t *base1, rvm_offset_t *end1, rvm_offset_t *base2, rvm_offset_t *end2)
 
long dev_total_include (rvm_offset_t *base1, rvm_offset_t *end1, rvm_offset_t *base2, rvm_offset_t *end2)
 
long mem_total_include (tree_node_t *tnode1, tree_node_t *tnode2)
 
region_tfind_whole_range (char *dest, rvm_length_t length, rw_lock_mode_t mode)
 
rvm_return_t rvm_map (rvm_region_t *rvm_region, rvm_options_t *rvm_options)
 

Variables

log_tdefault_log
 
rvm_bool_t rvm_no_update
 
rvm_bool_t rvm_map_private
 
char * rvm_errmsg
 
list_entry_t seg_root
 
rw_lock_t seg_root_lock
 
rw_lock_t region_tree_lock
 
tree_root_t region_tree
 
list_entry_t page_list
 
RVM_MUTEX page_list_lock
 
rvm_length_t page_size
 
rvm_length_t page_mask
 
rvm_page_entry_trvm_allocations = NULL
 
rvm_page_entry_trvm_allocations_tail = NULL
 

Macro Definition Documentation

◆ PAGE_ALLOC_DEFINED

#define PAGE_ALLOC_DEFINED

Function Documentation

◆ bad_region()

rvm_return_t bad_region ( rvm_region_t rvm_region)

◆ close_all_segs()

rvm_return_t close_all_segs ( void  )

◆ define_all_segs()

rvm_return_t define_all_segs ( log_t log)

◆ dev_partial_include()

long dev_partial_include ( rvm_offset_t base1,
rvm_offset_t end1,
rvm_offset_t base2,
rvm_offset_t end2 
)

◆ dev_total_include()

long dev_total_include ( rvm_offset_t base1,
rvm_offset_t end1,
rvm_offset_t base2,
rvm_offset_t end2 
)

◆ find_whole_range()

region_t * find_whole_range ( char *  dest,
rvm_length_t  length,
rw_lock_mode_t  mode 
)

◆ init_map_roots()

void init_map_roots ( void  )

◆ mem_total_include()

long mem_total_include ( tree_node_t tnode1,
tree_node_t tnode2 
)

◆ page_alloc()

char * page_alloc ( rvm_length_t  len)

◆ page_free()

void page_free ( char *  vmaddr,
rvm_length_t  length 
)

◆ rvm_map()

rvm_return_t rvm_map ( rvm_region_t rvm_region,
rvm_options_t rvm_options 
)

◆ rvm_register_page()

rvm_bool_t rvm_register_page ( char *  vmaddr,
rvm_length_t  length 
)

◆ rvm_unregister_page()

rvm_bool_t rvm_unregister_page ( char *  vmaddr,
rvm_length_t  length 
)

◆ seg_lookup()

seg_t * seg_lookup ( char *  dev_name,
rvm_return_t retval 
)

Variable Documentation

◆ default_log

log_t* default_log
extern

◆ page_list

list_entry_t page_list

◆ page_list_lock

RVM_MUTEX page_list_lock

◆ page_mask

rvm_length_t page_mask

◆ page_size

rvm_length_t page_size

◆ region_tree

tree_root_t region_tree

◆ region_tree_lock

rw_lock_t region_tree_lock

◆ rvm_allocations

rvm_page_entry_t* rvm_allocations = NULL

◆ rvm_allocations_tail

rvm_page_entry_t* rvm_allocations_tail = NULL

◆ rvm_errmsg

char* rvm_errmsg
extern

◆ rvm_map_private

rvm_bool_t rvm_map_private
extern

◆ rvm_no_update

rvm_bool_t rvm_no_update
extern

◆ seg_root

list_entry_t seg_root

◆ seg_root_lock

rw_lock_t seg_root_lock