Motr  M0
pdclust.h File Reference
#include "lib/arith.h"
#include "sns/parity_math.h"
#include "layout/layout.h"
Include dependency graph for pdclust.h:

Go to the source code of this file.

Data Structures

struct  m0_pdclust_attr
 
struct  m0_layout_pdclust_rec
 
struct  m0_pdclust_layout
 
struct  m0_pdclust_instance
 
struct  m0_pdclust_instance::tile_cache
 
struct  m0_pdclust_src_addr
 
struct  m0_pdclust_tgt_addr
 

Macros

#define __MOTR_LAYOUT_PDCLUST_H__
 
#define M0_PDCLUST_SEED   "upjumpandpumpim,"
 

Enumerations

enum  m0_pdclust_unit_type { M0_PUT_DATA, M0_PUT_PARITY, M0_PUT_SPARE, M0_PUT_NR }
 

Functions

 M0_BASSERT (M0_IS_8ALIGNED(sizeof(struct m0_layout_pdclust_rec)))
 
M0_INTERNAL int m0_pdclust_build (struct m0_layout_domain *dom, uint64_t lid, const struct m0_pdclust_attr *attr, struct m0_layout_enum *le, struct m0_pdclust_layout **out)
 
M0_INTERNAL bool m0_pdclust_attr_check (const struct m0_pdclust_attr *attr)
 
M0_INTERNAL uint32_t m0_pdclust_N (const struct m0_pdclust_layout *pl)
 
M0_INTERNAL uint32_t m0_pdclust_K (const struct m0_pdclust_layout *pl)
 
M0_INTERNAL uint32_t m0_pdclust_S (const struct m0_pdclust_layout *pl)
 
M0_INTERNAL uint32_t m0_pdclust_P (const struct m0_pdclust_layout *pl)
 
M0_INTERNAL uint32_t m0_pdclust_size (const struct m0_pdclust_layout *pl)
 
M0_INTERNAL uint64_t m0_pdclust_unit_size (const struct m0_pdclust_layout *pl)
 
M0_INTERNAL struct m0_pdclust_layoutm0_layout_to_pdl (const struct m0_layout *l)
 
M0_INTERNAL struct m0_layoutm0_pdl_to_layout (struct m0_pdclust_layout *pl)
 
M0_INTERNAL enum m0_pdclust_unit_type m0_pdclust_unit_classify (const struct m0_pdclust_layout *pl, int unit)
 
M0_INTERNAL struct m0_pdclust_instancem0_layout_instance_to_pdi (const struct m0_layout_instance *li)
 
M0_INTERNAL void m0_pdclust_instance_map (struct m0_pdclust_instance *pi, const struct m0_pdclust_src_addr *src, struct m0_pdclust_tgt_addr *tgt)
 
M0_INTERNAL void m0_pdclust_instance_inv (struct m0_pdclust_instance *pi, const struct m0_pdclust_tgt_addr *tgt, struct m0_pdclust_src_addr *src)
 
M0_INTERNAL int m0_pdclust_perm_cache_build (struct m0_layout *layout, struct m0_pdclust_instance *pi)
 
M0_INTERNAL void m0_pdclust_perm_cache_destroy (struct m0_layout *layout, struct m0_pdclust_instance *pi)
 
M0_INTERNAL bool m0_pdclust_is_replicated (struct m0_pdclust_layout *play)
 

Variables

struct m0_layout_type m0_pdclust_layout_type
 
M0_EXTERN const struct m0_pdclust_src_addr M0_PDCLUST_SRC_NULL
 

Macro Definition Documentation

◆ __MOTR_LAYOUT_PDCLUST_H__

#define __MOTR_LAYOUT_PDCLUST_H__

Definition at line 26 of file pdclust.h.