Motr  M0
rconfc_link_fom.c File Reference
#include "lib/trace.h"
#include "lib/finject.h"
#include "rpc/conn.h"
#include "rpc/rpc.h"
#include "rpc/rpc_opcodes.h"
#include "rpc/session.h"
#include "conf/confc.h"
#include "conf/rconfc.h"
#include "conf/rconfc_internal.h"
#include "conf/rconfc_link_fom.h"
Include dependency graph for rconfc_link_fom.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_CONF
 

Functions

M0_INTERNAL void rconfc_herd_link_fini (struct rconfc_link *lnk)
 
static int rconfc_link_fom_create (struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
 
static void rconfc_link_fom_clink_cleanup_fini (struct rconfc_link *lnk)
 
static void rconfc_link_fom_fini (struct m0_fom *fom)
 
static size_t rconfc_link_fom_locality (const struct m0_fom *fom)
 
static bool rconfc_link__on_sess_idle (struct m0_clink *clink)
 
static bool rconfc_link__on_sess_terminated (struct m0_clink *clink)
 
static bool rconfc_link__on_conn_terminated (struct m0_clink *clink)
 
static void rconfc_herd_link_fom_wait_on (struct rconfc_link *lnk, int phase)
 
static int rconfc_link_fom_tick (struct m0_fom *fom)
 
M0_INTERNAL int m0_rconfc_mod_init (void)
 
M0_INTERNAL void m0_rconfc_mod_fini (void)
 

Variables

static struct m0_sm_state_descr rconfc_link_fom_state_descr []
 
static const struct m0_sm_conf rconfc_link_fom_sm_conf
 
struct m0_fom_type rconfc_link_fom_type
 
const struct m0_fom_type_ops rconfc_link_fom_type_ops
 
const struct m0_fom_ops rconfc_link_fom_ops
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_CONF

Definition at line 23 of file rconfc_link_fom.c.

Function Documentation

◆ m0_rconfc_mod_fini()

M0_INTERNAL void m0_rconfc_mod_fini ( void  )

Definition at line 290 of file rconfc_link_fom.c.

◆ m0_rconfc_mod_init()

M0_INTERNAL int m0_rconfc_mod_init ( void  )

Definition at line 280 of file rconfc_link_fom.c.

Here is the call graph for this function:

◆ rconfc_herd_link_fom_wait_on()

static void rconfc_herd_link_fom_wait_on ( struct rconfc_link lnk,
int  phase 
)
static

Definition at line 166 of file rconfc_link_fom.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rconfc_link__on_conn_terminated()

static bool rconfc_link__on_conn_terminated ( struct m0_clink clink)
static

Definition at line 154 of file rconfc_link_fom.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rconfc_link__on_sess_idle()

static bool rconfc_link__on_sess_idle ( struct m0_clink clink)
static

Definition at line 130 of file rconfc_link_fom.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rconfc_link__on_sess_terminated()

static bool rconfc_link__on_sess_terminated ( struct m0_clink clink)
static

Definition at line 142 of file rconfc_link_fom.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rconfc_link_fom_clink_cleanup_fini()

static void rconfc_link_fom_clink_cleanup_fini ( struct rconfc_link lnk)
static

Definition at line 87 of file rconfc_link_fom.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rconfc_link_fom_create()

static int rconfc_link_fom_create ( struct m0_fop fop,
struct m0_fom **  out,
struct m0_reqh reqh 
)
static

Definition at line 79 of file rconfc_link_fom.c.

Here is the call graph for this function:

◆ rconfc_link_fom_fini()

static void rconfc_link_fom_fini ( struct m0_fom fom)
static

Definition at line 94 of file rconfc_link_fom.c.

Here is the call graph for this function:

◆ rconfc_link_fom_locality()

static size_t rconfc_link_fom_locality ( const struct m0_fom fom)
static

Definition at line 123 of file rconfc_link_fom.c.

◆ rconfc_link_fom_tick()

static int rconfc_link_fom_tick ( struct m0_fom fom)
static

Definition at line 189 of file rconfc_link_fom.c.

Here is the call graph for this function:

Variable Documentation

◆ rconfc_link_fom_ops

const struct m0_fom_ops rconfc_link_fom_ops
Initial value:
= {
.fo_home_locality = rconfc_link_fom_locality
}

Definition at line 274 of file rconfc_link_fom.c.

◆ rconfc_link_fom_sm_conf

const struct m0_sm_conf rconfc_link_fom_sm_conf
static
Initial value:
= {
.scf_name = "rconfc_link FOM state machine",
}
#define ARRAY_SIZE(a)
Definition: misc.h:45

Definition at line 71 of file rconfc_link_fom.c.

◆ rconfc_link_fom_state_descr

struct m0_sm_state_descr rconfc_link_fom_state_descr[]
static
Initial value:
= {
.sd_flags = M0_SDF_INITIAL,
.sd_name = "M0_RLF_INIT",
},
.sd_flags = 0,
.sd_name = "M0_RLF_SESS_WAIT_IDLE",
},
.sd_flags = 0,
.sd_name = "M0_RLF_SESS_TERMINATING",
},
.sd_flags = 0,
.sd_name = "M0_RLF_CONN_TERMINATING",
.sd_allowed = M0_BITS(M0_RLF_FINI)
},
.sd_flags = M0_SDF_TERMINAL,
.sd_name = "M0_RLF_FINI",
.sd_allowed = 0
},
}
#define M0_BITS(...)
Definition: misc.h:236

Definition at line 43 of file rconfc_link_fom.c.

◆ rconfc_link_fom_type

struct m0_fom_type rconfc_link_fom_type

Definition at line 77 of file rconfc_link_fom.c.

◆ rconfc_link_fom_type_ops

const struct m0_fom_type_ops rconfc_link_fom_type_ops
Initial value:
= {
.fto_create = rconfc_link_fom_create
}

Definition at line 270 of file rconfc_link_fom.c.