Motr
M0
|
#include "lib/trace.h"
#include "lib/memory.h"
#include "rpc/rpc_opcodes.h"
#include "fop/fom_generic.h"
#include "fdmi/fdmi.h"
#include "fdmi/source_dock.h"
#include "fdmi/source_dock_internal.h"
#include "fdmi/fops.h"
#include "fdmi/fol_fdmi_src.h"
Go to the source code of this file.
Data Structures | |
struct | fdmi_pending_fop |
Macros | |
#define | M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_FDMI |
Enumerations | |
enum | fdmi_src_dock_fom_phase { FDMI_SRC_DOCK_FOM_PHASE_INIT = M0_FOM_PHASE_INIT, FDMI_SRC_DOCK_FOM_PHASE_FINI = M0_FOM_PHASE_FINISH, FDMI_SRC_DOCK_FOM_PHASE_WAIT = M0_FOM_PHASE_NR, FDMI_SRC_DOCK_FOM_PHASE_GET_REC } |
enum | fdmi_src_dock_timer_fom_phase { FDMI_SRC_DOCK_TIMER_FOM_PHASE_INIT = M0_FOM_PHASE_INIT, FDMI_SRC_DOCK_TIMER_FOM_PHASE_FINI = M0_FOM_PHASE_FINISH, FDMI_SRC_DOCK_TIMER_FOM_PHASE_WAIT = M0_FOM_PHASE_NR, FDMI_SRC_DOCK_TIMER_FOM_PHASE_ALARMED } |
enum | fdmi_rr_fom_phase { FDMI_RR_FOM_PHASE_INIT = M0_FOM_PHASE_INIT, FDMI_RR_FOM_PHASE_FINI = M0_FOM_PHASE_FINISH, FDMI_RR_FOM_PHASE_RELEASE_RECORD = M0_FOM_PHASE_NR } |
enum | { FDMI_RPC_MAX_RETRIES = 60 } |
enum | { FDMI_SRC_DOCK_MAX_CHECKPOINT_TIME = 60 } |
Functions | |
static void | fdmi_sd_fom_fini (struct m0_fom *fom) |
static int | fdmi_sd_fom_tick (struct m0_fom *fom) |
static size_t | fdmi_sd_fom_locality (const struct m0_fom *fom) |
static int | sd_fom_send_record (struct fdmi_sd_fom *sd_fom, struct m0_fop *fop, const char *ep) |
static int | fdmi_filter_calc (struct fdmi_sd_fom *sd_fom, struct m0_fdmi_src_rec *src_rec, struct m0_conf_fdmi_filter *fdmi_filter) |
static int | fdmi_rr_fom_create (struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh) |
static void | fdmi_rr_fom_fini (struct m0_fom *fom) |
static int | fdmi_rr_fom_tick (struct m0_fom *fom) |
static void | fdmi_rec_notif_replied (struct m0_rpc_item *item) |
M0_TL_DESCR_DEFINE (pending_fops, "pending fops list", M0_INTERNAL, struct fdmi_pending_fop, fti_linkage, fti_magic, M0_FDMI_SRC_DOCK_PENDING_FOP_MAGIC, M0_FDMI_SRC_DOCK_PENDING_FOP_HEAD_MAGIC) | |
M0_TL_DEFINE (pending_fops, static, struct fdmi_pending_fop) | |
M0_TL_DESCR_DECLARE (fdmi_record_inflight, M0_EXTERN) | |
M0_TL_DECLARE (fdmi_record_inflight, M0_EXTERN, struct m0_fdmi_src_rec) | |
static void | fdmi_sd_timer_fom_fini (struct m0_fom *fom) |
static int | fdmi_sd_timer_fom_tick (struct m0_fom *fom) |
M0_INTERNAL void | m0_fdmi__src_dock_fom_init (void) |
M0_INTERNAL int | m0_fdmi__src_dock_fom_start (struct m0_fdmi_src_dock *src_dock, const struct m0_filterc_ops *filterc_ops, struct m0_reqh *reqh) |
static void | wakeup_iff_waiting (struct m0_sm_group *grp, struct m0_sm_ast *ast) |
M0_INTERNAL void | m0_fdmi__src_dock_fom_wakeup (struct fdmi_sd_fom *sd_fom) |
static void | fdmi__src_dock_timer_fom_wakeup (struct fdmi_sd_timer_fom *timer_fom) |
M0_INTERNAL void | m0_fdmi__src_dock_fom_stop (struct m0_fdmi_src_dock *src_dock) |
static int | apply_filters (struct fdmi_sd_fom *sd_fom, struct m0_fdmi_src_rec *src_rec) |
static int | process_fdmi_rec (struct fdmi_sd_fom *sd_fom, struct m0_fdmi_src_rec *src_rec) |
static int | fdmi_post_fop (struct m0_fop *fop, struct m0_rpc_session *session) |
static bool | pending_fop_clink_cb (struct m0_clink *clink) |
static int | sd_fom_save_pending_fop (struct fdmi_sd_fom *sd_fom, struct m0_fop *fop, struct m0_rpc_session *session) |
static int | filters_nr (struct m0_fdmi_src_rec *src_rec, const char *endpoint) |
static struct m0_rpc_machine * | m0_fdmi__sd_conn_pool_rpc_machine (void) |
static struct m0_fop * | alloc_fdmi_rec_fop (int filter_num) |
static struct m0_fop * | fop_create (struct m0_fdmi_src_rec *src_rec, const char *endpoint) |
static int | payload_encode (struct m0_fdmi_src_rec *src_rec, struct m0_fop *fop) |
static int | sd_fom_process_matched_filters (struct m0_fdmi_src_dock *sd_ctx, struct m0_fdmi_src_rec *src_rec) |
static int | node_eval (void *data, struct m0_fdmi_flt_var_node *value_desc, struct m0_fdmi_flt_operand *value) |
static void | fdmi_sd_fom_check (struct fdmi_sd_fom *sd_fom) |
Variables | |
static const struct m0_rpc_item_ops | fdmi_rec_not_item_ops |
static struct m0_sm_state_descr | fdmi_src_dock_state_descr [] |
static struct m0_sm_conf | fdmi_src_dock_fom_sm_conf |
static const struct m0_fom_ops | fdmi_sd_fom_ops |
static const struct m0_fom_type_ops | fdmi_sd_fom_type_ops |
static struct m0_fom_type | fdmi_sd_fom_type |
static struct m0_sm_state_descr | fdmi_src_dock_timer_fom_state_descr [] |
static struct m0_sm_conf | fdmi_src_dock_timer_fom_sm_conf |
static const struct m0_fom_ops | fdmi_sd_timer_fom_ops |
static const struct m0_fom_type_ops | fdmi_sd_timer_fom_type_ops |
static struct m0_fom_type | fdmi_sd_timer_fom_type |
static struct m0_sm_state_descr | fdmi_rr_fom_state_descr [] |
const struct m0_sm_conf | fdmi_rr_fom_sm_conf |
const struct m0_fom_type_ops | fdmi_rr_fom_type_ops |
const struct m0_fom_ops | fdmi_rr_fom_ops |
static struct m0_fdmi_sd_filter_type_handler | fdmi_filter_type_handlers [] |
#define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_FDMI |
Definition at line 23 of file source_dock_fom.c.
anonymous enum |
Enumerator | |
---|---|
FDMI_RPC_MAX_RETRIES |
Definition at line 513 of file source_dock_fom.c.
anonymous enum |
Enumerator | |
---|---|
FDMI_SRC_DOCK_MAX_CHECKPOINT_TIME |
Definition at line 536 of file source_dock_fom.c.
enum fdmi_rr_fom_phase |
Enumerator | |
---|---|
FDMI_RR_FOM_PHASE_INIT | |
FDMI_RR_FOM_PHASE_FINI | |
FDMI_RR_FOM_PHASE_RELEASE_RECORD |
Definition at line 201 of file source_dock_fom.c.
Enumerator | |
---|---|
FDMI_SRC_DOCK_FOM_PHASE_INIT | |
FDMI_SRC_DOCK_FOM_PHASE_FINI | |
FDMI_SRC_DOCK_FOM_PHASE_WAIT | |
FDMI_SRC_DOCK_FOM_PHASE_GET_REC |
Definition at line 83 of file source_dock_fom.c.
Enumerator | |
---|---|
FDMI_SRC_DOCK_TIMER_FOM_PHASE_INIT | |
FDMI_SRC_DOCK_TIMER_FOM_PHASE_FINI | |
FDMI_SRC_DOCK_TIMER_FOM_PHASE_WAIT | |
FDMI_SRC_DOCK_TIMER_FOM_PHASE_ALARMED |
Definition at line 142 of file source_dock_fom.c.
|
static |
Definition at line 684 of file source_dock_fom.c.
|
static |
This list is accessed and modified from thread at a time. No protection needed.
Definition at line 415 of file source_dock_fom.c.
|
static |
Definition at line 366 of file source_dock_fom.c.
|
static |
Definition at line 863 of file source_dock_fom.c.
|
static |
Definition at line 515 of file source_dock_fom.c.
|
static |
|
static |
|
static |
|
static |
Checking the inflight list.
Definition at line 901 of file source_dock_fom.c.
|
static |
|
static |
Definition at line 410 of file source_dock_fom.c.
|
static |
|
static |
|
static |
|
static |
Definition at line 665 of file source_dock_fom.c.
|
static |
Definition at line 713 of file source_dock_fom.c.
|
static |
Definition at line 678 of file source_dock_fom.c.
M0_TL_DECLARE | ( | fdmi_record_inflight | , |
M0_EXTERN | , | ||
struct m0_fdmi_src_rec | |||
) |
M0_TL_DEFINE | ( | pending_fops | , |
static | , | ||
struct fdmi_pending_fop | |||
) |
M0_TL_DESCR_DECLARE | ( | fdmi_record_inflight | , |
M0_EXTERN | |||
) |
M0_TL_DESCR_DEFINE | ( | pending_fops | , |
"pending fops list" | , | ||
M0_INTERNAL | , | ||
struct fdmi_pending_fop | , | ||
fti_linkage | , | ||
fti_magic | , | ||
M0_FDMI_SRC_DOCK_PENDING_FOP_MAGIC | , | ||
M0_FDMI_SRC_DOCK_PENDING_FOP_HEAD_MAGIC | |||
) |
|
static |
Definition at line 842 of file source_dock_fom.c.
|
static |
Definition at line 766 of file source_dock_fom.c.
|
static |
Definition at line 537 of file source_dock_fom.c.
|
static |
Definition at line 459 of file source_dock_fom.c.
|
static |
Definition at line 775 of file source_dock_fom.c.
|
static |
Definition at line 611 of file source_dock_fom.c.
|
static |
Definition at line 637 of file source_dock_fom.c.
|
static |
Definition at line 328 of file source_dock_fom.c.
|
static |
Definition at line 852 of file source_dock_fom.c.
|
static |
Definition at line 54 of file source_dock_fom.c.
const struct m0_fom_ops fdmi_rr_fom_ops |
Definition at line 230 of file source_dock_fom.c.
const struct m0_sm_conf fdmi_rr_fom_sm_conf |
Definition at line 220 of file source_dock_fom.c.
|
static |
Definition at line 207 of file source_dock_fom.c.
const struct m0_fom_type_ops fdmi_rr_fom_type_ops |
Definition at line 226 of file source_dock_fom.c.
|
static |
Definition at line 123 of file source_dock_fom.c.
|
static |
Definition at line 132 of file source_dock_fom.c.
|
static |
Definition at line 129 of file source_dock_fom.c.
|
static |
Definition at line 183 of file source_dock_fom.c.
|
static |
Definition at line 192 of file source_dock_fom.c.
|
static |
Definition at line 189 of file source_dock_fom.c.
|
static |
Definition at line 116 of file source_dock_fom.c.
|
static |
Definition at line 90 of file source_dock_fom.c.
|
static |
Definition at line 176 of file source_dock_fom.c.
|
static |
Definition at line 149 of file source_dock_fom.c.