Motr  M0
rm_ha.c File Reference
#include "lib/trace.h"
#include "lib/finject.h"
#include "lib/errno.h"
#include "lib/memory.h"
#include "lib/misc.h"
#include "lib/string.h"
#include "sm/sm.h"
#include "conf/confc.h"
#include "conf/helpers.h"
#include "conf/diter.h"
#include "conf/obj_ops.h"
#include "reqh/reqh.h"
#include "rm/rm_ha.h"
Include dependency graph for rm_ha.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_RM
 

Functions

static void rm_ha_sbscr_state_set (struct m0_rm_ha_subscriber *sbscr, int state)
 
static void rm_ha_sbscr_fail (struct m0_rm_ha_subscriber *sbscr, int rc)
 
static void rm_ha_sbscr_ast_post (struct m0_rm_ha_subscriber *sbscr, void(*cb)(struct m0_sm_group *, struct m0_sm_ast *))
 
static bool rm_ha_rms_is_located (struct m0_conf_obj *next, struct m0_rm_ha_subscriber *sbscr)
 
static bool rm_ha_svc_filter (const struct m0_conf_obj *obj)
 
static void rm_ha_sbscr_diter_next (struct m0_rm_ha_subscriber *sbscr)
 
static void rm_ha_sbscr_diter_next_ast (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static bool rm_ha_diter_cb (struct m0_clink *clink)
 
static void rm_ha_sbscr_fs_opened (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static bool rm_ha_sbscr_fs_open_cb (struct m0_clink *link)
 
static void rm_ha_conf_open (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static int rm_remote_ep_to_rms_obj (struct m0_confc *confc, const char *rem_ep, struct m0_conf_obj **obj)
 
static bool rm_ha_conf_expired_cb (struct m0_clink *cl)
 
M0_INTERNAL int m0_rm_ha_subscriber_init (struct m0_rm_ha_subscriber *sbscr, struct m0_sm_group *grp, struct m0_confc *confc, const char *rem_ep, struct m0_rm_ha_tracker *tracker)
 
M0_INTERNAL void m0_rm_ha_subscribe (struct m0_rm_ha_subscriber *sbscr)
 
M0_INTERNAL int m0_rm_ha_subscribe_sync (struct m0_confc *confc, const char *rem_ep, struct m0_rm_ha_tracker *tracker)
 
M0_INTERNAL void m0_rm_ha_subscriber_fini (struct m0_rm_ha_subscriber *sbscr)
 
M0_INTERNAL void m0_rm_ha_tracker_init (struct m0_rm_ha_tracker *tracker, m0_chan_cb_t cb)
 
M0_INTERNAL void m0_rm_ha_tracker_fini (struct m0_rm_ha_tracker *tracker)
 
M0_INTERNAL void m0_rm_ha_unsubscribe (struct m0_rm_ha_tracker *tracker)
 
M0_INTERNAL void m0_rm_ha_unsubscribe_lock (struct m0_rm_ha_tracker *tracker)
 

Variables

static struct m0_sm_state_descr rm_ha_subscriber_states []
 
static const struct m0_sm_conf rm_ha_sbscr_sm_conf
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_RM

Definition at line 24 of file rm_ha.c.