Motr  M0
link_service.c File Reference
#include "lib/trace.h"
#include "ha/link_service.h"
#include "lib/tlist.h"
#include "lib/misc.h"
#include "lib/types.h"
#include "lib/memory.h"
#include "lib/mutex.h"
#include "motr/magic.h"
#include "reqh/reqh_service.h"
#include "ha/link.h"
Include dependency graph for link_service.c:

Go to the source code of this file.

Data Structures

struct  ha_link_service
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_HA
 

Functions

 M0_TL_DESCR_DEFINE (ha_link_svc, "ha_link_service::hls_links", static, struct m0_ha_link, hln_service_link, hln_service_magic, M0_HA_LINK_SERVICE_LINK_MAGIC, M0_HA_LINK_SERVICE_HEAD_MAGIC)
 
 M0_TL_DEFINE (ha_link_svc, static, struct m0_ha_link)
 
 M0_BOB_DEFINE (static inline, &ha_link_service_bob_type, ha_link_service)
 
static struct ha_link_serviceha_link_service_container (struct m0_reqh_service *service)
 
static void ha_link_service_init (struct m0_reqh_service *service)
 
static void ha_link_service_fini (struct m0_reqh_service *service)
 
static int ha_link_service_start (struct m0_reqh_service *service)
 
static int ha_link_service_fop_accept (struct m0_reqh_service *service, struct m0_fop *fop)
 
static void ha_link_service_stop (struct m0_reqh_service *service)
 
static struct m0_ha_linkha_link_service_find (struct ha_link_service *hl_service, const struct m0_uint128 *link_id, struct m0_uint128 *connection_id)
 
static void ha_link_service_get (struct ha_link_service *hl_service, struct m0_ha_link *hl)
 
M0_INTERNAL struct m0_ha_linkm0_ha_link_service_find_get (struct m0_reqh_service *service, const struct m0_uint128 *link_id, struct m0_uint128 *connection_id)
 
M0_INTERNAL void m0_ha_link_service_put (struct m0_reqh_service *service, struct m0_ha_link *hl)
 
M0_INTERNAL void m0_ha_link_service_quiesce (struct m0_reqh_service *service, struct m0_ha_link *hl, struct m0_chan *chan)
 
M0_INTERNAL void m0_ha_link_service_register (struct m0_reqh_service *service, struct m0_ha_link *hl, const struct m0_uint128 *link_id, const struct m0_uint128 *connection_id)
 
M0_INTERNAL void m0_ha_link_service_deregister (struct m0_reqh_service *service, struct m0_ha_link *hl)
 
static int ha_link_service_allocate (struct m0_reqh_service **service, const struct m0_reqh_service_type *stype)
 
M0_INTERNAL int m0_ha_link_service_init (struct m0_reqh_service **hl_service, struct m0_reqh *reqh)
 
M0_INTERNAL void m0_ha_link_service_fini (struct m0_reqh_service *hl_service)
 
M0_INTERNAL int m0_ha_link_service_mod_init (void)
 
M0_INTERNAL void m0_ha_link_service_mod_fini (void)
 

Variables

struct ha_link_service M0_XCA_DOMAIN
 
static const struct m0_bob_type ha_link_service_bob_type
 
static const struct m0_reqh_service_ops ha_link_service_ops
 
static const struct m0_reqh_service_type_ops ha_link_stype_ops
 
struct m0_reqh_service_type m0_ha_link_service_type