Motr  M0
ad.h File Reference
#include "be/extmap.h"
#include "fid/fid.h"
#include "lib/types.h"
#include "stob/domain.h"
#include "stob/io.h"
#include "stob/stob.h"
#include "stob/stob_xc.h"
Include dependency graph for ad.h:

Go to the source code of this file.

Data Structures

struct  m0_ad_balloc
 
struct  m0_ad_balloc_ops
 
struct  m0_stob_ad_domain
 
struct  ad_domain_map
 
struct  m0_stob_ad
 
struct  m0_stob_ad_io
 

Macros

#define __MOTR_STOB_AD_INTERNAL_H__
 

Enumerations

enum  { AD_PATHLEN = 4096 }
 
enum  m0_stob_ad_domain_format_version { M0_STOB_AD_DOMAIN_FORMAT_VERSION_1 = 1, M0_STOB_AD_DOMAIN_FORMAT_VERSION = M0_STOB_AD_DOMAIN_FORMAT_VERSION_1 }
 
enum  { STOB_TYPE_AD = 0x02, BALLOC_FRAGS_MAX = 2 }
 
enum  stob_ad_allocation_extent_type { AET_MIN = M0_BINDEX_MAX - (1ULL << 32), AET_HOLE }
 

Functions

struct m0_ad_balloc M0_XCA_DOMAIN (be)
 
 M0_BASSERT (sizeof(M0_FIELD_VALUE(struct m0_stob_ad_domain, sad_path)) % 8==0)
 
 M0_BASSERT (sizeof(bool)==1)
 
M0_INTERNAL struct m0_ballocm0_stob_ad_domain2balloc (const struct m0_stob_domain *dom)
 
M0_INTERNAL bool m0_stob_ad_domain__invariant (struct m0_stob_ad_domain *adom)
 
M0_INTERNAL void m0_stob_ad_init_cfg_make (char **str, struct m0_be_domain *dom)
 
M0_INTERNAL void m0_stob_ad_cfg_make (char **str, const struct m0_be_seg *seg, const struct m0_stob_id *bstore_id, const m0_bcount_t size)
 
M0_INTERNAL int stob_ad_cursor (struct m0_stob_ad_domain *adom, struct m0_stob *obj, uint64_t offset, struct m0_be_emap_cursor *it)
 
M0_INTERNAL void m0_stob_ad_balloc_set (struct m0_stob_io *io, uint64_t flags)
 
M0_INTERNAL void m0_stob_ad_balloc_clear (struct m0_stob_io *io)
 
M0_INTERNAL m0_bcount_t m0_stob_ad_spares_calc (m0_bcount_t grp_blocks)
 
M0_INTERNAL void * m0_stob_ad_get_checksum_addr (struct m0_stob_io *io, m0_bindex_t off)
 

Variables

const struct m0_ad_balloc_opsab_ops
 
struct m0_ad_balloc_ops M0_XCA_DOMAIN
 
struct m0_format_header sad_header
 
uint64_t sad_dom_key
 
struct m0_stob_id sad_bstore_id
 
struct m0_ad_ballocsad_ballroom
 
m0_bcount_t sad_container_size
 
uint32_t sad_bshift
 
int32_t sad_babshift
 
m0_bcount_t sad_blocks_per_group
 
m0_bcount_t sad_spare_blocks_per_group
 
char sad_path [AD_PATHLEN]
 
bool sad_overwrite
 
char sad_pad [7]
 
struct m0_format_footer sad_footer
 
struct m0_be_emap sad_adata
 
struct m0_stobsad_bstore
 
struct m0_be_segsad_be_seg
 
uint64_t sad_magix
 
const struct m0_stob_type m0_stob_ad_type
 

Macro Definition Documentation

◆ __MOTR_STOB_AD_INTERNAL_H__

#define __MOTR_STOB_AD_INTERNAL_H__

Definition at line 26 of file ad.h.

Variable Documentation

◆ ab_ops

const struct m0_ad_balloc_ops* ab_ops

Definition at line 1524 of file ad.h.

◆ sad_adata

struct m0_be_emap sad_adata

Definition at line 1541 of file ad.h.

◆ sad_babshift

int32_t sad_babshift

Definition at line 1530 of file ad.h.

◆ sad_ballroom

struct m0_ad_balloc* sad_ballroom

Definition at line 1527 of file ad.h.

◆ sad_be_seg

struct m0_be_seg* sad_be_seg

Definition at line 1546 of file ad.h.

◆ sad_blocks_per_group

m0_bcount_t sad_blocks_per_group

Definition at line 1531 of file ad.h.

◆ sad_bshift

uint32_t sad_bshift

Definition at line 1529 of file ad.h.

◆ sad_bstore

struct m0_stob* sad_bstore

Definition at line 1545 of file ad.h.

◆ sad_bstore_id

struct m0_stob_id sad_bstore_id

Definition at line 1526 of file ad.h.

◆ sad_container_size

m0_bcount_t sad_container_size

Definition at line 1528 of file ad.h.

◆ sad_dom_key

uint64_t sad_dom_key

Definition at line 1525 of file ad.h.

◆ sad_footer

struct m0_format_footer sad_footer

Definition at line 1536 of file ad.h.

◆ sad_header

struct m0_format_header sad_header

Definition at line 1524 of file ad.h.

◆ sad_magix

uint64_t sad_magix

Definition at line 1547 of file ad.h.

◆ sad_overwrite

bool sad_overwrite

Definition at line 1534 of file ad.h.

◆ sad_pad

char sad_pad[7]

Definition at line 1535 of file ad.h.

◆ sad_path

char sad_path[AD_PATHLEN]

Definition at line 1533 of file ad.h.

◆ sad_spare_blocks_per_group

m0_bcount_t sad_spare_blocks_per_group

Definition at line 1532 of file ad.h.