Motr  M0
plugin_dock_fom.c File Reference
#include "lib/trace.h"
#include "motr/magic.h"
#include "lib/misc.h"
#include "lib/errno.h"
#include "lib/memory.h"
#include "rpc/rpc_opcodes.h"
#include "fop/fom.h"
#include "fop/fop.h"
#include "fdmi/fdmi.h"
#include "fdmi/plugin_dock.h"
#include "fdmi/plugin_dock_internal.h"
#include "fdmi/fops.h"
#include "fdmi/service.h"
Include dependency graph for plugin_dock_fom.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_FDMI
 

Enumerations

enum  fdmi_plugin_dock_fom_phase { FDMI_PLG_DOCK_FOM_INIT = M0_FOM_PHASE_INIT, FDMI_PLG_DOCK_FOM_FINI = M0_FOM_PHASE_FINISH, FDMI_PLG_DOCK_FOM_FEED_PLUGINS_WITH_REC, FDMI_PLG_DOCK_FOM_FINISH_WITH_REC }
 

Functions

static int pdock_fom_create (struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
 
const struct m0_fom_type_opsm0_fdmi__pdock_fom_type_ops_get (void)
 
static void pdock_fom_fini (struct m0_fom *fom)
 
static int pdock_fom_tick (struct m0_fom *fom)
 
static size_t pdock_fom_home_locality (const struct m0_fom *fom)
 
static int pdock_fom_tick__init (struct m0_fom *fom)
 
static int pdock_fom_tick__feed_plugin_with_rec (struct m0_fom *fom)
 
static int pdock_fom_tick__finish_with_rec (struct m0_fom *fom)
 
M0_INTERNAL int m0_fdmi__plugin_dock_fom_init (void)
 

Variables

static const struct m0_fom_type_ops pdock_fom_type_ops
 
static struct m0_fom_type pdock_fom_type
 
static struct m0_sm_state_descr fdmi_plugin_dock_state_descr []
 
const struct m0_sm_conf fdmi_plugin_dock_fom_sm_conf
 
static const struct m0_fom_ops pdock_fom_ops
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_FDMI

Definition at line 23 of file plugin_dock_fom.c.

Enumeration Type Documentation

◆ fdmi_plugin_dock_fom_phase

Enumerator
FDMI_PLG_DOCK_FOM_INIT 
FDMI_PLG_DOCK_FOM_FINI 
FDMI_PLG_DOCK_FOM_FEED_PLUGINS_WITH_REC 
FDMI_PLG_DOCK_FOM_FINISH_WITH_REC 

Definition at line 44 of file plugin_dock_fom.c.

Function Documentation

◆ pdock_fom_create()

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

Definition at line 105 of file plugin_dock_fom.c.

Here is the call graph for this function:

◆ pdock_fom_fini()

static void pdock_fom_fini ( struct m0_fom fom)
static

Definition at line 201 of file plugin_dock_fom.c.

Here is the call graph for this function:

◆ pdock_fom_home_locality()

static size_t pdock_fom_home_locality ( const struct m0_fom fom)
static

Definition at line 406 of file plugin_dock_fom.c.

Here is the call graph for this function:

◆ pdock_fom_tick()

static int pdock_fom_tick ( struct m0_fom fom)
static

Definition at line 377 of file plugin_dock_fom.c.

Here is the call graph for this function:

◆ pdock_fom_tick__feed_plugin_with_rec()

static int pdock_fom_tick__feed_plugin_with_rec ( struct m0_fom fom)
static

Definition at line 251 of file plugin_dock_fom.c.

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

◆ pdock_fom_tick__finish_with_rec()

static int pdock_fom_tick__finish_with_rec ( struct m0_fom fom)
static

Release record reg refc: in case there was no feed done the record ref is going to be destroyed immediately, otherwise this will happen when the last release request is replied.

Blocking fom is done to handle possible posting release request, therefore possible blocking on rpc connect when posting.

Definition at line 337 of file plugin_dock_fom.c.

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

◆ pdock_fom_tick__init()

static int pdock_fom_tick__init ( struct m0_fom fom)
static

Definition at line 220 of file plugin_dock_fom.c.

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

Variable Documentation

◆ fdmi_plugin_dock_fom_sm_conf

const struct m0_sm_conf fdmi_plugin_dock_fom_sm_conf
Initial value:
= {
.scf_name = "fdmi-plugin-dock-fom-sm",
}
static struct m0_sm_state_descr fdmi_plugin_dock_state_descr[]
#define ARRAY_SIZE(a)
Definition: misc.h:45

Definition at line 89 of file plugin_dock_fom.c.

◆ fdmi_plugin_dock_state_descr

struct m0_sm_state_descr fdmi_plugin_dock_state_descr[]
static
Initial value:
= {
.sd_flags = M0_SDF_INITIAL,
.sd_name = "Init",
.sd_allowed =
},
.sd_flags = M0_SDF_TERMINAL,
.sd_name = "Fini",
.sd_allowed = 0
},
.sd_flags = 0,
.sd_name = "Feed Plugins With Record",
},
.sd_flags = 0,
.sd_name = "Finish With Record",
},
}
#define M0_BITS(...)
Definition: misc.h:236

Definition at line 62 of file plugin_dock_fom.c.

◆ pdock_fom_ops

const struct m0_fom_ops pdock_fom_ops
static
Initial value:
= {
.fo_fini = pdock_fom_fini,
.fo_tick = pdock_fom_tick,
.fo_home_locality = pdock_fom_home_locality,
}
static size_t pdock_fom_home_locality(const struct m0_fom *fom)
static int pdock_fom_tick(struct m0_fom *fom)
static void pdock_fom_fini(struct m0_fom *fom)

Definition at line 99 of file plugin_dock_fom.c.

◆ pdock_fom_type

struct m0_fom_type pdock_fom_type
static

Definition at line 60 of file plugin_dock_fom.c.

◆ pdock_fom_type_ops

const struct m0_fom_type_ops pdock_fom_type_ops
static
Initial value:
= {
.fto_create = pdock_fom_create,
}
static int pdock_fom_create(struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)

Definition at line 51 of file plugin_dock_fom.c.