Motr  M0
m0_pools_common Struct Reference

#include <pool.h>

Collaboration diagram for m0_pools_common:
Collaboration graph

Data Fields

struct m0_tl pc_pools
 
struct m0_confcpc_confc
 
struct m0_rpc_machinepc_rmach
 
struct m0_tl pc_svc_ctxs
 
struct m0_reqh_service_ctx ** pc_mds_map
 
struct m0_reqh_service_ctxpc_rm_ctx
 
uint64_t pc_nr_svcs [M0_CST_NR]
 
uint32_t pc_nr_devices
 
struct m0_pool_device_to_servicepc_dev2svc
 
uint32_t pc_md_redundancy
 
struct m0_poolpc_md_pool
 
struct m0_layout_instancepc_md_pool_linst
 
struct m0_ha_entrypoint_clientpc_ha_ecl
 
struct m0_clink pc_ha_clink
 
struct m0_mutex pc_rm_lock
 
struct m0_pool_versionpc_cur_pver
 
struct m0_mutex pc_mutex
 
struct m0_tl pc_abandoned_svc_ctxs
 
struct m0_clink pc_conf_exp
 
struct m0_clink pc_conf_ready_async
 
struct m0_poolpc_dix_pool
 

Detailed Description

Contains resources that are shared among the pools in the filesystem. In-memory references for members should be used under pc_mutex lock as due to configuration expiration they may be updated, and long term users should subscribe with rconfc update channels.

Definition at line 161 of file pool.h.

Field Documentation

◆ pc_abandoned_svc_ctxs

struct m0_tl pc_abandoned_svc_ctxs

Service contexts that were obsoleted by configuration updates.

List of m0_reqh_service_ctx-s, linked through .sc_link field.

Definition at line 228 of file pool.h.

◆ pc_conf_exp

struct m0_clink pc_conf_exp

Listener for configuration expiration event from rconfc.

Definition at line 230 of file pool.h.

◆ pc_conf_ready_async

struct m0_clink pc_conf_ready_async

Listener for configuration ready event from rconfc to be run asynchronously.

Definition at line 235 of file pool.h.

◆ pc_confc

struct m0_confc* pc_confc

Definition at line 164 of file pool.h.

◆ pc_cur_pver

struct m0_pool_version* pc_cur_pver

XXX: used only for Client UTs now and should be dropped.

Definition at line 220 of file pool.h.

◆ pc_dev2svc

struct m0_pool_device_to_service* pc_dev2svc

An array of size of pc_nr_devices. Maps device to IOS/CAS service: dev_idx -> (service_ctx, sdev_fid) Each pc_dev2svc[i] entry points to instance of struct m0_reqh_service_ctx which has established rpc connections with the given service endpoints.

Todo:
Check whether concurrency needs to be handled after MOTR-1498 is in dev.

Definition at line 207 of file pool.h.

◆ pc_dix_pool

struct m0_pool* pc_dix_pool

Pool of cas services used to store dix.

Definition at line 237 of file pool.h.

◆ pc_ha_clink

struct m0_clink pc_ha_clink

Definition at line 217 of file pool.h.

◆ pc_ha_ecl

struct m0_ha_entrypoint_client* pc_ha_ecl

Definition at line 216 of file pool.h.

◆ pc_md_pool

struct m0_pool* pc_md_pool

Pool of ioservices used to store meta data cobs.

Definition at line 212 of file pool.h.

◆ pc_md_pool_linst

struct m0_layout_instance* pc_md_pool_linst

Layout instance of the mdpool.

Definition at line 214 of file pool.h.

◆ pc_md_redundancy

uint32_t pc_md_redundancy

Metadata redundancy count.

Definition at line 210 of file pool.h.

◆ pc_mds_map

struct m0_reqh_service_ctx** pc_mds_map

Array of pools_common_svc_ctx_tlist_length() valid elements. The array size is same as the total number of service contexts, pc_mds_map[i] points to m0_reqh_service_ctx of mdservice whose index is i.

Definition at line 180 of file pool.h.

◆ pc_mutex

struct m0_mutex pc_mutex

Definition at line 221 of file pool.h.

◆ pc_nr_devices

uint32_t pc_nr_devices

Total number of devices across all the pools. Only devices used by IOS or CAS services are accounted.

Definition at line 196 of file pool.h.

◆ pc_nr_svcs

uint64_t pc_nr_svcs[M0_CST_NR]

Each ith element in the array gives the total number of services of its corresponding type, e.g. element at M0_CST_MDS gives number of meta-data services in the filesystem.

Definition at line 190 of file pool.h.

◆ pc_pools

struct m0_tl pc_pools

Definition at line 162 of file pool.h.

◆ pc_rm_ctx

struct m0_reqh_service_ctx* pc_rm_ctx

RM service context

Definition at line 183 of file pool.h.

◆ pc_rm_lock

struct m0_mutex pc_rm_lock

Definition at line 218 of file pool.h.

◆ pc_rmach

struct m0_rpc_machine* pc_rmach

Definition at line 166 of file pool.h.

◆ pc_svc_ctxs

struct m0_tl pc_svc_ctxs

List of m0_reqh_service_ctx objects hanging using sc_link. tlist descriptor: svc_ctx_tl

Definition at line 172 of file pool.h.


The documentation for this struct was generated from the following file: