Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
dm-space-map-common.h File Reference
#include "dm-btree.h"

Go to the source code of this file.

Data Structures

struct  disk_index_entry
 
struct  disk_metadata_index
 
struct  ll_disk
 
struct  disk_sm_root
 
struct  disk_bitmap_header
 

Macros

#define MAX_METADATA_BITMAPS   255
 
#define ENTRIES_PER_BYTE   4
 

Typedefs

typedef int(* load_ie_fn )(struct ll_disk *ll, dm_block_t index, struct disk_index_entry *result)
 
typedef int(* save_ie_fn )(struct ll_disk *ll, dm_block_t index, struct disk_index_entry *ie)
 
typedef int(* init_index_fn )(struct ll_disk *ll)
 
typedef int(* open_index_fn )(struct ll_disk *ll)
 
typedef dm_block_t(* max_index_entries_fn )(struct ll_disk *ll)
 
typedef int(* commit_fn )(struct ll_disk *ll)
 

Enumerations

enum  allocation_event { SM_NONE, SM_ALLOC, SM_FREE }
 

Functions

int sm_ll_extend (struct ll_disk *ll, dm_block_t extra_blocks)
 
int sm_ll_lookup_bitmap (struct ll_disk *ll, dm_block_t b, uint32_t *result)
 
int sm_ll_lookup (struct ll_disk *ll, dm_block_t b, uint32_t *result)
 
int sm_ll_find_free_block (struct ll_disk *ll, dm_block_t begin, dm_block_t end, dm_block_t *result)
 
int sm_ll_insert (struct ll_disk *ll, dm_block_t b, uint32_t ref_count, enum allocation_event *ev)
 
int sm_ll_inc (struct ll_disk *ll, dm_block_t b, enum allocation_event *ev)
 
int sm_ll_dec (struct ll_disk *ll, dm_block_t b, enum allocation_event *ev)
 
int sm_ll_commit (struct ll_disk *ll)
 
int sm_ll_new_metadata (struct ll_disk *ll, struct dm_transaction_manager *tm)
 
int sm_ll_open_metadata (struct ll_disk *ll, struct dm_transaction_manager *tm, void *root_le, size_t len)
 
int sm_ll_new_disk (struct ll_disk *ll, struct dm_transaction_manager *tm)
 
int sm_ll_open_disk (struct ll_disk *ll, struct dm_transaction_manager *tm, void *root_le, size_t len)
 

Variables

struct disk_index_entry __packed
 

Macro Definition Documentation

#define ENTRIES_PER_BYTE   4

Definition at line 91 of file dm-space-map-common.h.

#define MAX_METADATA_BITMAPS   255

Definition at line 39 of file dm-space-map-common.h.

Typedef Documentation

typedef int(* commit_fn)(struct ll_disk *ll)

Definition at line 55 of file dm-space-map-common.h.

typedef int(* init_index_fn)(struct ll_disk *ll)

Definition at line 52 of file dm-space-map-common.h.

Definition at line 50 of file dm-space-map-common.h.

typedef dm_block_t(* max_index_entries_fn)(struct ll_disk *ll)

Definition at line 54 of file dm-space-map-common.h.

typedef int(* open_index_fn)(struct ll_disk *ll)

Definition at line 53 of file dm-space-map-common.h.

typedef int(* save_ie_fn)(struct ll_disk *ll, dm_block_t index, struct disk_index_entry *ie)

Definition at line 51 of file dm-space-map-common.h.

Enumeration Type Documentation

Enumerator:
SM_NONE 
SM_ALLOC 
SM_FREE 

Definition at line 99 of file dm-space-map-common.h.

Function Documentation

int sm_ll_commit ( struct ll_disk ll)

Definition at line 478 of file dm-space-map-common.c.

int sm_ll_dec ( struct ll_disk ll,
dm_block_t  b,
enum allocation_event ev 
)

Definition at line 463 of file dm-space-map-common.c.

int sm_ll_extend ( struct ll_disk ll,
dm_block_t  extra_blocks 
)

Definition at line 232 of file dm-space-map-common.c.

int sm_ll_find_free_block ( struct ll_disk ll,
dm_block_t  begin,
dm_block_t  end,
dm_block_t result 
)

Definition at line 315 of file dm-space-map-common.c.

int sm_ll_inc ( struct ll_disk ll,
dm_block_t  b,
enum allocation_event ev 
)

Definition at line 451 of file dm-space-map-common.c.

int sm_ll_insert ( struct ll_disk ll,
dm_block_t  b,
uint32_t  ref_count,
enum allocation_event ev 
)

Definition at line 375 of file dm-space-map-common.c.

int sm_ll_lookup ( struct ll_disk ll,
dm_block_t  b,
uint32_t result 
)

Definition at line 295 of file dm-space-map-common.c.

int sm_ll_lookup_bitmap ( struct ll_disk ll,
dm_block_t  b,
uint32_t result 
)

Definition at line 273 of file dm-space-map-common.c.

int sm_ll_new_disk ( struct ll_disk ll,
struct dm_transaction_manager tm 
)

Definition at line 653 of file dm-space-map-common.c.

int sm_ll_new_metadata ( struct ll_disk ll,
struct dm_transaction_manager tm 
)

Definition at line 557 of file dm-space-map-common.c.

int sm_ll_open_disk ( struct ll_disk ll,
struct dm_transaction_manager tm,
void root_le,
size_t  len 
)

Definition at line 682 of file dm-space-map-common.c.

int sm_ll_open_metadata ( struct ll_disk ll,
struct dm_transaction_manager tm,
void root_le,
size_t  len 
)

Definition at line 586 of file dm-space-map-common.c.

Variable Documentation