Motr  M0
layout.h File Reference
#include "lib/types.h"
#include "fid/fid.h"
#include "fid/fid_xc.h"
#include "dix/imask.h"
#include "dix/imask_xc.h"
#include "lib/buf.h"
#include "lib/types_xc.h"
Include dependency graph for layout.h:

Go to the source code of this file.

Data Structures

struct  m0_dix_ldesc
 
struct  m0_dix_capture_ldesc
 
struct  m0_dix_composite_layer
 
struct  m0_dix_composite_ldesc
 
struct  m0_dix_layout
 
struct  m0_dix_linst
 
struct  m0_dix_layout_iter
 

Macros

#define __MOTR_DIX_LAYOUT_H__
 

Enumerations

enum  dix_layout_type {
  DIX_LTYPE_UNKNOWN, DIX_LTYPE_ID, DIX_LTYPE_DESCR, DIX_LTYPE_COMPOSITE_DESCR,
  DIX_LTYPE_CAPTURE_DESCR
}
 
enum  m0_dix_hash_fnc_type { HASH_FNC_NONE, HASH_FNC_FNV1, HASH_FNC_CITY }
 

Functions

struct m0_dix_imask M0_XCA_DOMAIN (rpc)
 
M0_INTERNAL void m0_dix_target (struct m0_dix_linst *inst, uint64_t unit, struct m0_buf *key, uint64_t *out_id)
 
M0_INTERNAL uint32_t m0_dix_devices_nr (struct m0_dix_linst *linst)
 
M0_INTERNAL struct m0_pooldevm0_dix_tgt2sdev (struct m0_dix_linst *linst, uint64_t tgt)
 
M0_INTERNAL int m0_dix_layout_init (struct m0_dix_linst *dli, struct m0_layout_domain *domain, const struct m0_fid *fid, uint64_t layout_id, struct m0_pool_version *pver, struct m0_dix_ldesc *dld)
 
M0_INTERNAL void m0_dix_layout_fini (struct m0_dix_linst *li)
 
M0_INTERNAL int m0_dix_ldesc_init (struct m0_dix_ldesc *ld, struct m0_ext *range, m0_bcount_t range_nr, enum m0_dix_hash_fnc_type htype, struct m0_fid *pver)
 
M0_INTERNAL int m0_dix_ldesc_copy (struct m0_dix_ldesc *dst, const struct m0_dix_ldesc *src)
 
M0_INTERNAL void m0_dix_ldesc_fini (struct m0_dix_ldesc *ld)
 
M0_INTERNAL int m0_dix_layout_iter_init (struct m0_dix_layout_iter *iter, const struct m0_fid *index, struct m0_layout_domain *ldom, struct m0_pool_version *pver, struct m0_dix_ldesc *ldesc, struct m0_buf *key)
 
M0_INTERNAL void m0_dix_layout_iter_next (struct m0_dix_layout_iter *iter, uint64_t *tgt)
 
M0_INTERNAL void m0_dix_layout_iter_goto (struct m0_dix_layout_iter *iter, uint64_t unit)
 
M0_INTERNAL void m0_dix_layout_iter_reset (struct m0_dix_layout_iter *iter)
 
M0_INTERNAL void m0_dix_layout_iter_get_at (struct m0_dix_layout_iter *iter, uint64_t unit, uint64_t *tgt)
 
M0_INTERNAL uint32_t m0_dix_liter_N (struct m0_dix_layout_iter *iter)
 
M0_INTERNAL uint32_t m0_dix_liter_P (struct m0_dix_layout_iter *iter)
 
M0_INTERNAL uint32_t m0_dix_liter_K (struct m0_dix_layout_iter *iter)
 
M0_INTERNAL uint32_t m0_dix_liter_S (struct m0_dix_layout_iter *iter)
 
M0_INTERNAL uint32_t m0_dix_liter_W (struct m0_dix_layout_iter *iter)
 
M0_INTERNAL uint32_t m0_dix_liter_spare_offset (struct m0_dix_layout_iter *iter)
 
M0_INTERNAL uint32_t m0_dix_liter_unit_classify (struct m0_dix_layout_iter *iter, uint64_t unit)
 
M0_INTERNAL void m0_dix_layout_iter_fini (struct m0_dix_layout_iter *iter)
 
M0_INTERNAL bool m0_dix_layout_eq (const struct m0_dix_layout *layout1, const struct m0_dix_layout *layout2)
 

Variables

enum dix_layout_type M0_XCA_DOMAIN
 
uint32_t ld_hash_fnc
 
struct m0_fid ld_pver
 
struct m0_dix_imask ld_imask
 
struct m0_uint128 ca_orig_id
 
struct m0_fid ca_pver = ci->ci_pver
 
uint64_t ca_lid
 
struct m0_uint128 cr_subobj
 
uint64_t cr_lid
 
int cr_priority
 
int cld_nr_layers
 
struct m0_dix_composite_layercld_layers
 
uint32_t dl_type
 
union {
u
 

Macro Definition Documentation

◆ __MOTR_DIX_LAYOUT_H__

#define __MOTR_DIX_LAYOUT_H__

Definition at line 26 of file layout.h.

Variable Documentation

◆ ca_lid

uint64_t ca_lid

Definition at line 325 of file layout.h.

◆ ca_orig_id

struct m0_uint128 ca_orig_id

Definition at line 323 of file layout.h.

◆ ca_pver

mo mo_attr ca_pver = ci->ci_pver

Definition at line 324 of file layout.h.

◆ cld_layers

struct m0_dix_composite_layer* cld_layers

Definition at line 324 of file layout.h.

◆ cld_nr_layers

int cld_nr_layers

Definition at line 323 of file layout.h.

◆ cr_lid

uint64_t cr_lid

Definition at line 324 of file layout.h.

◆ cr_priority

int cr_priority

Definition at line 325 of file layout.h.

◆ cr_subobj

struct m0_uint128 cr_subobj

Definition at line 323 of file layout.h.

◆ dl_type

uint32_t dl_type

Definition at line 323 of file layout.h.

◆ ld_hash_fnc

uint32_t ld_hash_fnc

Definition at line 323 of file layout.h.

◆ ld_imask

struct m0_dix_imask ld_imask

Definition at line 325 of file layout.h.

◆ ld_pver

struct m0_fid ld_pver

Definition at line 324 of file layout.h.

◆ u

union { ... } u