Motr  M0
reqh.c File Reference
#include "lib/trace.h"
#include "lib/finject.h"
#include "lib/errno.h"
#include "lib/assert.h"
#include "lib/memory.h"
#include "lib/misc.h"
#include "lib/atomic.h"
#include "lib/locality.h"
#include "lib/semaphore.h"
#include "motr/magic.h"
#include "addb2/sys.h"
#include "addb2/global.h"
#include "stob/stob.h"
#include "net/net.h"
#include "fop/fop.h"
#include "fop/fom_generic.h"
#include "dtm/dtm.h"
#include "rpc/rpc.h"
#include "rpc/item_internal.h"
#include "reqh/reqh_service.h"
#include "reqh/reqh.h"
#include "layout/pdclust.h"
#include "fd/fd.h"
#include "fop/fom_simple.h"
#include "pool/pool.h"
#include "conf/obj.h"
#include "conf/confc.h"
#include "conf/helpers.h"
#include "be/ut/helper.h"
Include dependency graph for reqh.c:

Go to the source code of this file.

Data Structures

struct  disallowed_fop_reply
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_RPC
 

Functions

 M0_TL_DESCR_DEFINE (m0_reqh_svc, "reqh service", M0_INTERNAL, struct m0_reqh_service, rs_linkage, rs_magix, M0_REQH_SVC_MAGIC, M0_REQH_SVC_HEAD_MAGIC)
 
 M0_TL_DEFINE (m0_reqh_svc, M0_INTERNAL, struct m0_reqh_service)
 
 M0_BOB_DEFINE (M0_INTERNAL, &rqsvc_bob, m0_reqh_service)
 
 M0_TL_DESCR_DEFINE (m0_reqh_rpc_mach, "rpc machines",, struct m0_rpc_machine, rm_rh_linkage, rm_magix, M0_RPC_MACHINE_MAGIC, M0_REQH_RPC_MACH_HEAD_MAGIC)
 
 M0_TL_DEFINE (m0_reqh_rpc_mach,, struct m0_rpc_machine)
 
 M0_LOCKERS_DEFINE (M0_INTERNAL, m0_reqh, rh_lockers)
 
static void __reqh_fini (struct m0_reqh *reqh)
 
M0_INTERNAL bool m0_reqh_invariant (const struct m0_reqh *reqh)
 
M0_INTERNAL int m0_reqh_mdpool_layout_build (struct m0_reqh *reqh)
 
M0_INTERNAL void m0_reqh_layouts_cleanup (struct m0_reqh *reqh)
 
M0_INTERNAL struct m0_rpc_sessionm0_reqh_mdpool_service_index_to_session (const struct m0_reqh *reqh, const struct m0_fid *gob_fid, uint32_t index)
 
M0_INTERNAL int m0_reqh_init (struct m0_reqh *reqh, const struct m0_reqh_init_args *reqh_args)
 
M0_INTERNAL int m0_reqh_be_init (struct m0_reqh *reqh, struct m0_be_seg *seg)
 
M0_INTERNAL void m0_reqh_be_fini (struct m0_reqh *reqh)
 
M0_INTERNAL void m0_reqh_fini (struct m0_reqh *reqh)
 
M0_INTERNAL void m0_reqhs_fini (void)
 
M0_INTERNAL int m0_reqhs_init (void)
 
M0_INTERNAL int m0_reqh_addb2_init (struct m0_reqh *reqh, const char *location, uint64_t key, bool mkfs, bool force, m0_bcount_t size)
 
M0_INTERNAL void m0_reqh_addb2_fini (struct m0_reqh *reqh)
 
M0_INTERNAL int m0_reqh_state_get (struct m0_reqh *reqh)
 
static void reqh_state_set (struct m0_reqh *reqh, enum m0_reqh_states state)
 
M0_INTERNAL int m0_reqh_services_state_count (struct m0_reqh *reqh, int state)
 
M0_INTERNAL int m0_reqh_fop_allow (struct m0_reqh *reqh, struct m0_fop *fop)
 
static int disallowed_fop_tick (struct m0_fom *fom, void *data, int *phase)
 
static void disallowed_fop_free (struct m0_fom_simple *sfom)
 
static void fop_disallowed (struct m0_reqh *reqh, struct m0_fop *req_fop, int rc)
 
M0_INTERNAL int m0_reqh_fop_handle (struct m0_reqh *reqh, struct m0_fop *fop)
 
M0_INTERNAL void m0_reqh_idle_wait_for (struct m0_reqh *reqh, struct m0_reqh_service *service)
 
M0_INTERNAL void m0_reqh_idle_wait (struct m0_reqh *reqh)
 
M0_INTERNAL void m0_reqh_services_prepare_to_stop (struct m0_reqh *reqh, unsigned level)
 
M0_INTERNAL void m0_reqh_shutdown (struct m0_reqh *reqh)
 
M0_INTERNAL void m0_reqh_shutdown_wait (struct m0_reqh *reqh)
 
static void __reqh_svcs_stop (struct m0_reqh *reqh, unsigned level)
 
M0_INTERNAL void m0_reqh_services_terminate (struct m0_reqh *reqh)
 
M0_INTERNAL void m0_reqh_pre_storage_fini_svcs_stop (struct m0_reqh *reqh)
 
M0_INTERNAL void m0_reqh_post_storage_fini_svcs_stop (struct m0_reqh *reqh)
 
M0_INTERNAL void m0_reqh_start (struct m0_reqh *reqh)
 
M0_INTERNAL uint64_t m0_reqh_nr_localities (const struct m0_reqh *reqh)
 
M0_INTERNAL int m0_reqh_conf_setup (struct m0_reqh *reqh, struct m0_confc_args *args)
 
M0_INTERNAL struct m0_confcm0_reqh2confc (struct m0_reqh *reqh)
 
M0_INTERNAL struct m0_fidm0_reqh2profile (struct m0_reqh *reqh)
 

Variables

static struct m0_bob_type rqsvc_bob
 
struct m0_reqh_service_type m0_rpc_service_type
 
static struct m0_sm_state_descr m0_reqh_sm_descr []
 
static const struct m0_sm_conf m0_reqh_sm_conf
 
struct m0_reqh_service_type m0_ha_entrypoint_service_type
 
struct m0_reqh_service_type m0_ha_link_service_type
 
M0_EXTERN struct m0_reqh_service_type m0_cas_service_type
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_RPC

Definition at line 23 of file reqh.c.