Motr  M0
m0_reqh Struct Reference

#include <reqh.h>

Collaboration diagram for m0_reqh:
Collaboration graph

Data Fields

uint64_t rh_magic
 
struct m0_sm rh_sm
 
struct m0_sm_group rh_sm_grp
 
struct m0_dtmrh_dtm
 
struct m0_be_segrh_beseg
 
struct m0_mdstorerh_mdstore
 
struct m0_pools_commonrh_pools
 
struct m0_fol rh_fol
 
struct m0_tl rh_services
 
struct m0_tl rh_rpc_machines
 
struct m0_reqh_servicerh_rpc_service
 
struct m0_rwlock rh_rwlock
 
struct m0_addb2_storagerh_addb2_stor
 
struct m0_semaphore rh_addb2_stor_idle
 
struct m0_addb2_netrh_addb2_net
 
struct m0_semaphore rh_addb2_net_idle
 
struct m0_layout_domain rh_ldom
 
struct m0_ha_domain rh_hadom
 
struct m0_reqh_lockers rh_lockers
 
struct m0_rconfc rh_rconfc
 
bool rh_oostore
 
struct m0_reqh_service_ctxrh_ha_rsctx
 
struct m0_fid rh_fid
 
struct m0_mutex rh_guard
 
struct m0_mutex rh_guard_async
 
struct m0_chan rh_conf_cache_exp
 
struct m0_chan rh_conf_cache_ready
 
struct m0_chan rh_conf_cache_ready_async
 
struct m0_sm_ast rh_conf_cache_ast
 

Detailed Description

Request handler instance.

Definition at line 94 of file reqh.h.

Field Documentation

◆ rh_addb2_net

struct m0_addb2_net* rh_addb2_net

Definition at line 147 of file reqh.h.

◆ rh_addb2_net_idle

struct m0_semaphore rh_addb2_net_idle

Definition at line 148 of file reqh.h.

◆ rh_addb2_stor

struct m0_addb2_storage* rh_addb2_stor

Definition at line 145 of file reqh.h.

◆ rh_addb2_stor_idle

struct m0_semaphore rh_addb2_stor_idle

Definition at line 146 of file reqh.h.

◆ rh_beseg

struct m0_be_seg* rh_beseg

BE segment for this request handler.

Definition at line 112 of file reqh.h.

◆ rh_conf_cache_ast

struct m0_sm_ast rh_conf_cache_ast

AST for rconfc cache events to be done asynchronously.

Definition at line 230 of file reqh.h.

◆ rh_conf_cache_exp

struct m0_chan rh_conf_cache_exp

Channel for configuration cache expiry events.

The channel callbacks are to be executed synchronously in the context of the thread where m0_rconfc::rc_expired_cb is called.

The channel callback must not attempt to do synchronous reading on m0_reqh::rh_rconfc::rc_confc.

Definition at line 194 of file reqh.h.

◆ rh_conf_cache_ready

struct m0_chan rh_conf_cache_ready

Channel for configuration cache ready events.

The channel callbacks are to be executed synchronously in the context of the thread where m0_rconfc::rc_ready_cb is called.

The channel callback must not attempt to do synchronous reading on m0_reqh::rh_rconfc::rc_confc.

Definition at line 205 of file reqh.h.

◆ rh_conf_cache_ready_async

struct m0_chan rh_conf_cache_ready_async

Channel for configuration cache ready events.

The channel callbacks are to be executed asynchronously in the context of the locality other than locality0 used by rconfc. The broadcast on the channel is postponed until synchronous part is fully completed.

The channel callback is allowed to do synchronous reading on m0_reqh::rh_rconfc::rc_confc.

Note
: The order of clink subscription matters: m0_pools_common::pc_conf_ready_async should be the last clink to subscribe this channel. Rationale: the subsystems using m0_pool/m0_pool_version/m0_client_layout/ should relinquish their pointers/references for in-memory objects before pools_common's callback is executed. Currently this is achieved by registering pools_common's clinks after registering clinks of all layout users.
See also
: MOTR-2343.

Definition at line 227 of file reqh.h.

◆ rh_dtm

struct m0_dtm* rh_dtm

Definition at line 109 of file reqh.h.

◆ rh_fid

struct m0_fid rh_fid

Process FID.

Definition at line 177 of file reqh.h.

◆ rh_fol

struct m0_fol rh_fol

Fol pointer for this request handler.

Definition at line 121 of file reqh.h.

◆ rh_guard

struct m0_mutex rh_guard

Guard for configuration cache events

Definition at line 180 of file reqh.h.

◆ rh_guard_async

struct m0_mutex rh_guard_async

Guard for configuration cache events run asynchronously.

Definition at line 183 of file reqh.h.

◆ rh_ha_rsctx

struct m0_reqh_service_ctx* rh_ha_rsctx

HA service context.

Definition at line 174 of file reqh.h.

◆ rh_hadom

struct m0_ha_domain rh_hadom

HA domain which stores the epoch.

Definition at line 156 of file reqh.h.

◆ rh_ldom

struct m0_layout_domain rh_ldom

Layout domain for this request handler.

Definition at line 153 of file reqh.h.

◆ rh_lockers

struct m0_reqh_lockers rh_lockers

Lockers to store private data

Definition at line 161 of file reqh.h.

◆ rh_magic

uint64_t rh_magic

Request handler magic.

Definition at line 96 of file reqh.h.

◆ rh_mdstore

struct m0_mdstore* rh_mdstore

Mdstore for this request handler.

Definition at line 115 of file reqh.h.

◆ rh_oostore

bool rh_oostore

Oostore mode

Definition at line 171 of file reqh.h.

◆ rh_pools

struct m0_pools_common* rh_pools

Definition at line 118 of file reqh.h.

◆ rh_rconfc

struct m0_rconfc rh_rconfc

Rconfc instance.

Definition at line 166 of file reqh.h.

◆ rh_rpc_machines

struct m0_tl rh_rpc_machines

RPC machines running in this request handler. There is one rpc machine per request handler end point.

See also
m0_rpc_machine::rm_rh_linkage

Definition at line 135 of file reqh.h.

◆ rh_rpc_service

struct m0_reqh_service* rh_rpc_service

Service to which rpc-internal fops are directed. This is shared by all rpc machines.

Definition at line 140 of file reqh.h.

◆ rh_rwlock

struct m0_rwlock rh_rwlock

provides protected access to reqh members.

Definition at line 143 of file reqh.h.

◆ rh_services

struct m0_tl rh_services

Services registered with this request handler.

See also
m0_reqh_service::rs_linkage

Definition at line 127 of file reqh.h.

◆ rh_sm

struct m0_sm rh_sm

State machine.

Definition at line 99 of file reqh.h.

◆ rh_sm_grp

struct m0_sm_group rh_sm_grp

State machine group. Request handler services state machines (rs_sm) belong to this group. The management service broadcasts on the group channel to notify waiters of significant events.

Definition at line 107 of file reqh.h.


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