Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
dm-thin-metadata.h File Reference
#include "persistent-data/dm-block-manager.h"

Go to the source code of this file.

Data Structures

struct  dm_thin_lookup_result
 

Macros

#define THIN_METADATA_BLOCK_SIZE   4096
 
#define THIN_METADATA_MAX_SECTORS   (255 * (1 << 14) * (THIN_METADATA_BLOCK_SIZE / (1 << SECTOR_SHIFT)))
 
#define THIN_METADATA_MAX_SECTORS_WARNING   (16 * (1024 * 1024 * 1024 >> SECTOR_SHIFT))
 
#define THIN_FEATURE_COMPAT_SUPP   0UL
 
#define THIN_FEATURE_COMPAT_RO_SUPP   0UL
 
#define THIN_FEATURE_INCOMPAT_SUPP   0UL
 

Typedefs

typedef uint64_t dm_thin_id
 

Functions

struct dm_pool_metadatadm_pool_metadata_open (struct block_device *bdev, sector_t data_block_size, bool format_device)
 
int dm_pool_metadata_close (struct dm_pool_metadata *pmd)
 
int dm_pool_create_thin (struct dm_pool_metadata *pmd, dm_thin_id dev)
 
int dm_pool_create_snap (struct dm_pool_metadata *pmd, dm_thin_id dev, dm_thin_id origin)
 
int dm_pool_delete_thin_device (struct dm_pool_metadata *pmd, dm_thin_id dev)
 
int dm_pool_commit_metadata (struct dm_pool_metadata *pmd)
 
int dm_pool_abort_metadata (struct dm_pool_metadata *pmd)
 
int dm_pool_set_metadata_transaction_id (struct dm_pool_metadata *pmd, uint64_t current_id, uint64_t new_id)
 
int dm_pool_get_metadata_transaction_id (struct dm_pool_metadata *pmd, uint64_t *result)
 
int dm_pool_reserve_metadata_snap (struct dm_pool_metadata *pmd)
 
int dm_pool_release_metadata_snap (struct dm_pool_metadata *pmd)
 
int dm_pool_get_metadata_snap (struct dm_pool_metadata *pmd, dm_block_t *result)
 
int dm_pool_open_thin_device (struct dm_pool_metadata *pmd, dm_thin_id dev, struct dm_thin_device **td)
 
int dm_pool_close_thin_device (struct dm_thin_device *td)
 
dm_thin_id dm_thin_dev_id (struct dm_thin_device *td)
 
int dm_thin_find_block (struct dm_thin_device *td, dm_block_t block, int can_block, struct dm_thin_lookup_result *result)
 
int dm_pool_alloc_data_block (struct dm_pool_metadata *pmd, dm_block_t *result)
 
int dm_thin_insert_block (struct dm_thin_device *td, dm_block_t block, dm_block_t data_block)
 
int dm_thin_remove_block (struct dm_thin_device *td, dm_block_t block)
 
bool dm_thin_changed_this_transaction (struct dm_thin_device *td)
 
bool dm_thin_aborted_changes (struct dm_thin_device *td)
 
int dm_thin_get_highest_mapped_block (struct dm_thin_device *td, dm_block_t *highest_mapped)
 
int dm_thin_get_mapped_count (struct dm_thin_device *td, dm_block_t *result)
 
int dm_pool_get_free_block_count (struct dm_pool_metadata *pmd, dm_block_t *result)
 
int dm_pool_get_free_metadata_block_count (struct dm_pool_metadata *pmd, dm_block_t *result)
 
int dm_pool_get_metadata_dev_size (struct dm_pool_metadata *pmd, dm_block_t *result)
 
int dm_pool_get_data_block_size (struct dm_pool_metadata *pmd, sector_t *result)
 
int dm_pool_get_data_dev_size (struct dm_pool_metadata *pmd, dm_block_t *result)
 
int dm_pool_resize_data_dev (struct dm_pool_metadata *pmd, dm_block_t new_size)
 
void dm_pool_metadata_read_only (struct dm_pool_metadata *pmd)
 

Macro Definition Documentation

#define THIN_FEATURE_COMPAT_RO_SUPP   0UL

Definition at line 51 of file dm-thin-metadata.h.

#define THIN_FEATURE_COMPAT_SUPP   0UL

Definition at line 50 of file dm-thin-metadata.h.

#define THIN_FEATURE_INCOMPAT_SUPP   0UL

Definition at line 52 of file dm-thin-metadata.h.

#define THIN_METADATA_BLOCK_SIZE   4096

Definition at line 12 of file dm-thin-metadata.h.

#define THIN_METADATA_MAX_SECTORS   (255 * (1 << 14) * (THIN_METADATA_BLOCK_SIZE / (1 << SECTOR_SHIFT)))

Definition at line 20 of file dm-thin-metadata.h.

#define THIN_METADATA_MAX_SECTORS_WARNING   (16 * (1024 * 1024 * 1024 >> SECTOR_SHIFT))

Definition at line 25 of file dm-thin-metadata.h.

Typedef Documentation

Definition at line 30 of file dm-thin-metadata.h.

Function Documentation

int dm_pool_abort_metadata ( struct dm_pool_metadata pmd)

Definition at line 1524 of file dm-thin-metadata.c.

int dm_pool_alloc_data_block ( struct dm_pool_metadata pmd,
dm_block_t result 
)

Definition at line 1483 of file dm-thin-metadata.c.

int dm_pool_close_thin_device ( struct dm_thin_device td)

Definition at line 1338 of file dm-thin-metadata.c.

int dm_pool_commit_metadata ( struct dm_pool_metadata pmd)

Definition at line 1495 of file dm-thin-metadata.c.

int dm_pool_create_snap ( struct dm_pool_metadata pmd,
dm_thin_id  dev,
dm_thin_id  origin 
)

Definition at line 1080 of file dm-thin-metadata.c.

int dm_pool_create_thin ( struct dm_pool_metadata pmd,
dm_thin_id  dev 
)

Definition at line 991 of file dm-thin-metadata.c.

int dm_pool_delete_thin_device ( struct dm_pool_metadata pmd,
dm_thin_id  dev 
)

Definition at line 1124 of file dm-thin-metadata.c.

int dm_pool_get_data_block_size ( struct dm_pool_metadata pmd,
sector_t result 
)

Definition at line 1582 of file dm-thin-metadata.c.

int dm_pool_get_data_dev_size ( struct dm_pool_metadata pmd,
dm_block_t result 
)

Definition at line 1591 of file dm-thin-metadata.c.

int dm_pool_get_free_block_count ( struct dm_pool_metadata pmd,
dm_block_t result 
)

Definition at line 1544 of file dm-thin-metadata.c.

int dm_pool_get_free_metadata_block_count ( struct dm_pool_metadata pmd,
dm_block_t result 
)

Definition at line 1556 of file dm-thin-metadata.c.

int dm_pool_get_metadata_dev_size ( struct dm_pool_metadata pmd,
dm_block_t result 
)

Definition at line 1569 of file dm-thin-metadata.c.

int dm_pool_get_metadata_snap ( struct dm_pool_metadata pmd,
dm_block_t result 
)

Definition at line 1312 of file dm-thin-metadata.c.

int dm_pool_get_metadata_transaction_id ( struct dm_pool_metadata pmd,
uint64_t result 
)

Definition at line 1162 of file dm-thin-metadata.c.

int dm_pool_metadata_close ( struct dm_pool_metadata pmd)

Definition at line 837 of file dm-thin-metadata.c.

struct dm_pool_metadata* dm_pool_metadata_open ( struct block_device bdev,
sector_t  data_block_size,
bool  format_device 
)
read

Definition at line 800 of file dm-thin-metadata.c.

void dm_pool_metadata_read_only ( struct dm_pool_metadata pmd)

Definition at line 1680 of file dm-thin-metadata.c.

int dm_pool_open_thin_device ( struct dm_pool_metadata pmd,
dm_thin_id  dev,
struct dm_thin_device **  td 
)

Definition at line 1325 of file dm-thin-metadata.c.

int dm_pool_release_metadata_snap ( struct dm_pool_metadata pmd)

Definition at line 1282 of file dm-thin-metadata.c.

int dm_pool_reserve_metadata_snap ( struct dm_pool_metadata pmd)

Definition at line 1236 of file dm-thin-metadata.c.

int dm_pool_resize_data_dev ( struct dm_pool_metadata pmd,
dm_block_t  new_size 
)

Definition at line 1668 of file dm-thin-metadata.c.

int dm_pool_set_metadata_transaction_id ( struct dm_pool_metadata pmd,
uint64_t  current_id,
uint64_t  new_id 
)

Definition at line 1137 of file dm-thin-metadata.c.

bool dm_thin_aborted_changes ( struct dm_thin_device td)

Definition at line 1472 of file dm-thin-metadata.c.

bool dm_thin_changed_this_transaction ( struct dm_thin_device td)

Definition at line 1461 of file dm-thin-metadata.c.

dm_thin_id dm_thin_dev_id ( struct dm_thin_device td)

Definition at line 1347 of file dm-thin-metadata.c.

int dm_thin_find_block ( struct dm_thin_device td,
dm_block_t  block,
int  can_block,
struct dm_thin_lookup_result result 
)

Definition at line 1357 of file dm-thin-metadata.c.

int dm_thin_get_highest_mapped_block ( struct dm_thin_device td,
dm_block_t highest_mapped 
)

Definition at line 1634 of file dm-thin-metadata.c.

int dm_thin_get_mapped_count ( struct dm_thin_device td,
dm_block_t result 
)

Definition at line 1603 of file dm-thin-metadata.c.

int dm_thin_insert_block ( struct dm_thin_device td,
dm_block_t  block,
dm_block_t  data_block 
)

Definition at line 1420 of file dm-thin-metadata.c.

int dm_thin_remove_block ( struct dm_thin_device td,
dm_block_t  block 
)

Definition at line 1449 of file dm-thin-metadata.c.