Motr  M0
onwire.h File Reference
#include "xcode/xcode.h"
#include "lib/types.h"
#include "lib/bitmap.h"
#include "lib/bitmap_xc.h"
#include "lib/buf_xc.h"
#include "fid/fid.h"
#include "fid/fid_xc.h"
#include "conf/schema_xc.h"
#include "fdmi/filter.h"
#include "fdmi/filter_xc.h"
#include "pool/policy_xc.h"
Include dependency graph for onwire.h:

Go to the source code of this file.

Data Structures

struct  arr_u32
 
struct  m0_confx_header
 
struct  m0_confx_root
 
struct  m0_confx_profile
 
struct  m0_confx_pool
 
struct  m0_confx_pver_actual
 
struct  m0_confx_pver_formulaic
 
struct  m0_confx_pver_u
 
struct  m0_confx_pver
 
struct  m0_confx_objv
 
struct  m0_confx_node
 
struct  m0_confx_process
 
struct  m0_confx_service
 
struct  m0_confx_sdev
 
struct  m0_confx_site
 
struct  m0_confx_rack
 
struct  m0_confx_enclosure
 
struct  m0_confx_controller
 
struct  m0_confx_drive
 
struct  m0_confx_fdmi_flt_grp
 
struct  m0_confx_fdmi_filter
 
struct  m0_confx_obj
 
struct  m0_confx
 
struct  m0_conf_fetch
 
struct  m0_conf_fetch_resp
 
struct  m0_conf_update
 
struct  m0_conf_update_resp
 

Macros

#define __MOTR_CONF_ONWIRE_H__
 
#define M0_CONFX_AT(cx, idx)
 

Enumerations

enum  { M0_CONFX_PVER_ACTUAL, M0_CONFX_PVER_FORMULAIC }
 

Functions

struct arr_u32 M0_XCA_DOMAIN (conf|rpc)
 
uint32_t xp_pver_policy M0_XCA_FENUM (m0_pver_policy_code)
 
uint32_t xs_type M0_XCA_FENUM (m0_conf_service_type)
 
uint32_t xd_iface M0_XCA_FENUM (m0_cfg_storage_device_interface_type)
 
uint32_t xd_media M0_XCA_FENUM (m0_cfg_storage_device_media_type)
 
uint32_t xf_type M0_XCA_FENUM (m0_fdmi_filter_type_id)
 
M0_INTERNAL void m0_xc_m0_confx_obj_struct_init (void)
 
M0_INTERNAL void m0_xc_m0_confx_obj_struct_fini (void)
 
M0_INTERNAL size_t m0_confx_sizeof (void)
 
struct m0_conf_fetch M0_XCA_DOMAIN (rpc)
 

Variables

uint32_t au_count
 
uint32_t * au_elems
 
struct m0_fid ch_id
 
struct m0_confx_header xt_header
 
uint64_t xt_verno
 
struct m0_fid xt_rootfid
 
struct m0_fid xt_mdpool
 
struct m0_fid xt_imeta_pver
 
uint32_t xt_mdredundancy
 
struct m0_bufs xt_params
 
struct m0_fid_arr xt_nodes
 
struct m0_fid_arr xt_sites
 
struct m0_fid_arr xt_pools
 
struct m0_fid_arr xt_profiles
 
struct m0_fid_arr xt_fdmi_flt_grps
 
struct m0_confx_header xp_header
 
struct m0_fid_arr xp_pools
 
struct m0_fid_arr xp_pvers
 
uint32_t xva_N
 
uint32_t xva_K
 
uint32_t xva_S
 
uint32_t xva_P
 
struct arr_u32 xva_tolerance
 
struct m0_fid_arr xva_sitevs
 
uint32_t xvf_id
 
struct m0_fid xvf_base
 
struct arr_u32 xvf_allowance
 
enum { ... }  M0_XCA_DOMAIN
 
uint8_t xpv_is_formulaic
 
union {
u
 
struct m0_confx_header xv_header
 
struct m0_confx_pver_u xv_u
 
struct m0_confx_header xj_header
 
struct m0_fid xj_real
 
struct m0_fid_arr xj_children
 
struct m0_confx_header xn_header
 
uint32_t xn_memsize
 
uint32_t xn_nr_cpu
 
uint64_t xn_last_state
 
uint64_t xn_flags
 
struct m0_fid_arr xn_processes
 
struct m0_confx_header xr_header
 
struct m0_bitmap_onwire xr_cores
 
uint64_t xr_mem_limit_as
 
uint64_t xr_mem_limit_rss
 
uint64_t xr_mem_limit_stack
 
uint64_t xr_mem_limit_memlock
 
struct m0_buf xr_endpoint
 
struct m0_fid_arr xr_services
 
struct m0_confx_header xs_header
 
struct m0_bufs xs_endpoints
 
struct m0_bufs xs_params
 
struct m0_fid_arr xs_sdevs
 
struct m0_confx_header xd_header
 
uint32_t xd_dev_idx
 
uint32_t xd_bsize
 
uint64_t xd_size
 
uint64_t xd_last_state
 
uint64_t xd_flags
 
struct m0_buf xd_filename
 
struct m0_confx_header xi_header
 
struct m0_fid_arr xi_racks
 
struct m0_fid_arr xi_pvers
 
struct m0_fid_arr xr_encls
 
struct m0_fid_arr xr_pvers
 
struct m0_confx_header xe_header
 
struct m0_fid xe_node
 
struct m0_fid_arr xe_ctrls
 
struct m0_fid_arr xe_pvers
 
struct m0_confx_header xc_header
 
struct m0_fid_arr xc_drives
 
struct m0_fid_arr xc_pvers
 
struct m0_confx_header xk_header
 
struct m0_fid xk_sdev
 
struct m0_fid_arr xk_pvers
 
struct m0_confx_header xfg_header
 
uint32_t xfg_rec_type
 
struct m0_fid_arr xfg_filters
 
struct m0_confx_header xf_header
 
struct m0_fid xf_filter_id
 
struct m0_buf xf_filter_root
 
struct m0_fid xf_node
 
struct m0_fid xf_dix_pver
 
struct m0_bufs xf_substrings
 
struct m0_bufs xf_endpoints
 
M0_EXTERN struct m0_xcode_typem0_confx_obj_xc
 
uint32_t cx_nr
 
struct m0_confx_objcx__objs
 
struct m0_fid f_origin
 
struct m0_fid_arr f_path
 
int32_t fr_rc
 
uint64_t fr_ver
 
struct m0_confx fr_data
 
struct m0_fid u_origin
 
struct m0_confx u_data
 
int32_t ur_rc
 

Macro Definition Documentation

◆ __MOTR_CONF_ONWIRE_H__

#define __MOTR_CONF_ONWIRE_H__

Definition at line 24 of file onwire.h.

◆ M0_CONFX_AT

#define M0_CONFX_AT (   cx,
  idx 
)
Value:
({ \
typeof(cx) __cx = (cx); \
uint32_t __idx = (idx); \
M0_ASSERT(__idx <= __cx->cx_nr); \
(typeof(&(cx)->cx__objs[0]))(((char *)__cx->cx__objs) + \
__idx * m0_confx_sizeof()); \
})
M0_INTERNAL size_t m0_confx_sizeof(void)
Definition: db.c:61
struct m0_confx_obj * cx__objs
Definition: onwire.h:264
uint32_t cx_nr
Definition: onwire.h:256

Returns specific element of m0_confx::cx__objs.

Definition at line 271 of file onwire.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
M0_CONFX_PVER_ACTUAL 
M0_CONFX_PVER_FORMULAIC 

Definition at line 115 of file onwire.h.

Function Documentation

◆ m0_confx_sizeof()

M0_INTERNAL size_t m0_confx_sizeof ( void  )

Definition at line 61 of file db.c.

Here is the caller graph for this function:

◆ m0_xc_m0_confx_obj_struct_fini()

M0_INTERNAL void m0_xc_m0_confx_obj_struct_fini ( void  )

Definition at line 58 of file db.c.

◆ m0_xc_m0_confx_obj_struct_init()

M0_INTERNAL void m0_xc_m0_confx_obj_struct_init ( void  )

Definition at line 55 of file db.c.

◆ M0_XCA_DOMAIN() [1/2]

struct arr_u32 M0_XCA_DOMAIN ( conf rpc)

◆ M0_XCA_DOMAIN() [2/2]

struct m0_conf_fetch M0_XCA_DOMAIN ( rpc  )

◆ M0_XCA_FENUM() [1/5]

uint32_t xs_type M0_XCA_DOMAIN::M0_XCA_FENUM ( m0_conf_service_type  )

◆ M0_XCA_FENUM() [2/5]

uint32_t xp_pver_policy M0_XCA_DOMAIN::M0_XCA_FENUM ( m0_pver_policy_code  )

◆ M0_XCA_FENUM() [3/5]

uint32_t xf_type M0_XCA_DOMAIN::M0_XCA_FENUM ( m0_fdmi_filter_type_id  )

◆ M0_XCA_FENUM() [4/5]

uint32_t xd_iface M0_XCA_DOMAIN::M0_XCA_FENUM ( m0_cfg_storage_device_interface_type  )

◆ M0_XCA_FENUM() [5/5]

uint32_t xd_media M0_XCA_DOMAIN::M0_XCA_FENUM ( m0_cfg_storage_device_media_type  )

Variable Documentation

◆ au_count

uint32_t au_count

Definition at line 120 of file onwire.h.

◆ au_elems

uint32_t* au_elems

Definition at line 121 of file onwire.h.

◆ ch_id

struct m0_fid ch_id

Definition at line 120 of file onwire.h.

◆ cx__objs

struct m0_confx_obj* cx__objs

Objects in the configuration.

Note
Do not access this field directly, because actual in-memory size of object is larger than sizeof(struct m0_confx_obj). Use M0_CONFX_AT() instead.

Definition at line 264 of file onwire.h.

◆ cx_nr

uint32_t cx_nr

Definition at line 256 of file onwire.h.

◆ f_origin

struct m0_fid f_origin

Configuration object the path originates from.

Definition at line 282 of file onwire.h.

◆ f_path

struct m0_fid_arr f_path

Path components.

Definition at line 284 of file onwire.h.

◆ fr_data

struct m0_confx fr_data

A sequence of configuration object descriptors.

Definition at line 286 of file onwire.h.

◆ fr_rc

int32_t fr_rc

Result of configuration retrieval (-Exxx = failure, 0 = success).

Definition at line 282 of file onwire.h.

◆ fr_ver

uint64_t fr_ver

configuration version number

Definition at line 284 of file onwire.h.

◆ m0_confx_obj_xc

M0_EXTERN struct m0_xcode_type* m0_confx_obj_xc

xcode type of the union above.

This type is build dynamically, when new conf object types are registered. See m0_conf_obj_type_register().

Definition at line 253 of file onwire.h.

◆ M0_XCA_DOMAIN

struct m0_confx_obj M0_XCA_DOMAIN

◆ u

union { ... } u

◆ u_data

struct m0_confx u_data

A sequence of configuration object descriptors.

Definition at line 284 of file onwire.h.

◆ u_origin

struct m0_fid u_origin

Configuration object the path originates from.

Definition at line 282 of file onwire.h.

◆ ur_rc

int32_t ur_rc

Result of update request (-Exxx = failure, 0 = success).

Definition at line 282 of file onwire.h.

◆ xc_drives

struct m0_fid_arr xc_drives

Definition at line 121 of file onwire.h.

◆ xc_header

struct m0_confx_header xc_header

Definition at line 120 of file onwire.h.

◆ xc_pvers

struct m0_fid_arr xc_pvers

Definition at line 122 of file onwire.h.

◆ xd_bsize

uint32_t xd_bsize

Definition at line 126 of file onwire.h.

◆ xd_dev_idx

uint32_t xd_dev_idx

Definition at line 121 of file onwire.h.

◆ xd_filename

struct m0_buf xd_filename

Definition at line 130 of file onwire.h.

◆ xd_flags

uint64_t xd_flags

Definition at line 129 of file onwire.h.

◆ xd_header

struct m0_confx_header xd_header

Definition at line 120 of file onwire.h.

◆ xd_last_state

uint64_t xd_last_state

Definition at line 128 of file onwire.h.

◆ xd_size

uint64_t xd_size

Definition at line 127 of file onwire.h.

◆ xe_ctrls

struct m0_fid_arr xe_ctrls

Definition at line 122 of file onwire.h.

◆ xe_header

struct m0_confx_header xe_header

Definition at line 120 of file onwire.h.

◆ xe_node

struct m0_fid xe_node

Definition at line 121 of file onwire.h.

◆ xe_pvers

struct m0_fid_arr xe_pvers

Definition at line 123 of file onwire.h.

◆ xf_dix_pver

struct m0_fid xf_dix_pver

Definition at line 126 of file onwire.h.

◆ xf_endpoints

struct m0_bufs xf_endpoints

Definition at line 128 of file onwire.h.

◆ xf_filter_id

struct m0_fid xf_filter_id

Definition at line 122 of file onwire.h.

◆ xf_filter_root

struct m0_buf xf_filter_root

Definition at line 124 of file onwire.h.

◆ xf_header

struct m0_confx_header xf_header

Definition at line 120 of file onwire.h.

◆ xf_node

struct m0_fid xf_node

Definition at line 125 of file onwire.h.

◆ xf_substrings

struct m0_bufs xf_substrings

Definition at line 127 of file onwire.h.

◆ xfg_filters

struct m0_fid_arr xfg_filters

Definition at line 122 of file onwire.h.

◆ xfg_header

struct m0_confx_header xfg_header

Definition at line 120 of file onwire.h.

◆ xfg_rec_type

uint32_t xfg_rec_type

Definition at line 121 of file onwire.h.

◆ xi_header

struct m0_confx_header xi_header

Definition at line 120 of file onwire.h.

◆ xi_pvers

struct m0_fid_arr xi_pvers

Definition at line 122 of file onwire.h.

◆ xi_racks

struct m0_fid_arr xi_racks

Definition at line 121 of file onwire.h.

◆ xj_children

struct m0_fid_arr xj_children

Definition at line 122 of file onwire.h.

◆ xj_header

struct m0_confx_header xj_header

Definition at line 120 of file onwire.h.

◆ xj_real

struct m0_fid xj_real

Definition at line 121 of file onwire.h.

◆ xk_header

struct m0_confx_header xk_header

Definition at line 120 of file onwire.h.

◆ xk_pvers

struct m0_fid_arr xk_pvers

Definition at line 122 of file onwire.h.

◆ xk_sdev

struct m0_fid xk_sdev

Definition at line 121 of file onwire.h.

◆ xn_flags

uint64_t xn_flags

Definition at line 124 of file onwire.h.

◆ xn_header

struct m0_confx_header xn_header

Definition at line 120 of file onwire.h.

◆ xn_last_state

uint64_t xn_last_state

Definition at line 123 of file onwire.h.

◆ xn_memsize

uint32_t xn_memsize

Definition at line 121 of file onwire.h.

◆ xn_nr_cpu

uint32_t xn_nr_cpu

Definition at line 122 of file onwire.h.

◆ xn_processes

struct m0_fid_arr xn_processes

Definition at line 125 of file onwire.h.

◆ xp_header

struct m0_confx_header xp_header

Definition at line 120 of file onwire.h.

◆ xp_pools

struct m0_fid_arr xp_pools

Definition at line 121 of file onwire.h.

◆ xp_pvers

struct m0_fid_arr xp_pvers

Definition at line 122 of file onwire.h.

◆ xpv_is_formulaic

uint8_t xpv_is_formulaic

Definition at line 120 of file onwire.h.

◆ xr_cores

struct m0_bitmap_onwire xr_cores

Definition at line 121 of file onwire.h.

◆ xr_encls

struct m0_fid_arr xr_encls

Definition at line 121 of file onwire.h.

◆ xr_endpoint

struct m0_buf xr_endpoint

Definition at line 126 of file onwire.h.

◆ xr_header

struct m0_confx_header xr_header

Definition at line 120 of file onwire.h.

◆ xr_mem_limit_as

uint64_t xr_mem_limit_as

Definition at line 122 of file onwire.h.

◆ xr_mem_limit_memlock

uint64_t xr_mem_limit_memlock

Definition at line 125 of file onwire.h.

◆ xr_mem_limit_rss

uint64_t xr_mem_limit_rss

Definition at line 123 of file onwire.h.

◆ xr_mem_limit_stack

uint64_t xr_mem_limit_stack

Definition at line 124 of file onwire.h.

◆ xr_pvers

struct m0_fid_arr xr_pvers

Definition at line 122 of file onwire.h.

◆ xr_services

struct m0_fid_arr xr_services

Definition at line 127 of file onwire.h.

◆ xs_endpoints

struct m0_bufs xs_endpoints

Definition at line 122 of file onwire.h.

◆ xs_header

struct m0_confx_header xs_header

Definition at line 120 of file onwire.h.

◆ xs_params

struct m0_bufs xs_params

Definition at line 123 of file onwire.h.

◆ xs_sdevs

struct m0_fid_arr xs_sdevs

Definition at line 124 of file onwire.h.

◆ xt_fdmi_flt_grps

struct m0_fid_arr xt_fdmi_flt_grps

Definition at line 131 of file onwire.h.

◆ xt_header

struct m0_confx_header xt_header

Definition at line 120 of file onwire.h.

◆ xt_imeta_pver

struct m0_fid xt_imeta_pver

Definition at line 124 of file onwire.h.

◆ xt_mdpool

struct m0_fid xt_mdpool

Definition at line 123 of file onwire.h.

◆ xt_mdredundancy

uint32_t xt_mdredundancy

Definition at line 125 of file onwire.h.

◆ xt_nodes

struct m0_fid_arr xt_nodes

Definition at line 127 of file onwire.h.

◆ xt_params

struct m0_bufs xt_params

Definition at line 126 of file onwire.h.

◆ xt_pools

struct m0_fid_arr xt_pools

Definition at line 129 of file onwire.h.

◆ xt_profiles

struct m0_fid_arr xt_profiles

Definition at line 130 of file onwire.h.

◆ xt_rootfid

struct m0_fid xt_rootfid

Definition at line 122 of file onwire.h.

◆ xt_sites

struct m0_fid_arr xt_sites

Definition at line 128 of file onwire.h.

◆ xt_verno

uint64_t xt_verno

Definition at line 121 of file onwire.h.

◆ xv_header

struct m0_confx_header xv_header

Definition at line 120 of file onwire.h.

◆ xv_u

struct m0_confx_pver_u xv_u

Definition at line 121 of file onwire.h.

◆ xva_K

uint32_t xva_K

Definition at line 123 of file onwire.h.

◆ xva_N

uint32_t xva_N

Definition at line 121 of file onwire.h.

◆ xva_P

uint32_t xva_P

Definition at line 127 of file onwire.h.

◆ xva_S

uint32_t xva_S

Definition at line 125 of file onwire.h.

◆ xva_sitevs

struct m0_fid_arr xva_sitevs

Definition at line 132 of file onwire.h.

◆ xva_tolerance

struct arr_u32 xva_tolerance

Definition at line 131 of file onwire.h.

◆ xvf_allowance

struct arr_u32 xvf_allowance

Definition at line 125 of file onwire.h.

◆ xvf_base

struct m0_fid xvf_base

Definition at line 121 of file onwire.h.

◆ xvf_id

uint32_t xvf_id

Definition at line 120 of file onwire.h.