Go to the source code of this file.
|
static int | ss_fom_create (struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh) |
|
static int | ss_fom_tick (struct m0_fom *fom) |
|
static int | ss_fom_tick__init (struct ss_fom *m, const struct m0_sss_req *fop, const struct m0_reqh *reqh) |
|
static void | ss_fom_fini (struct m0_fom *fom) |
|
static size_t | ss_fom_home_locality (const struct m0_fom *fom) |
|
static int | ss_svc_rso_start (struct m0_reqh_service *service) |
|
static void | ss_svc_rso_stop (struct m0_reqh_service *service) |
|
static void | ss_svc_rso_fini (struct m0_reqh_service *service) |
|
static enum m0_service_health | ss_svc_rso_health (struct m0_reqh_service *service) |
|
static int | ss_svc_rsto_service_allocate (struct m0_reqh_service **service, const struct m0_reqh_service_type *stype) |
|
M0_INTERNAL int | m0_ss_svc_init (void) |
|
M0_INTERNAL void | m0_ss_svc_fini (void) |
|
static enum m0_service_health | ss_svc_health (struct m0_reqh_service *svc) |
|
static int | ss_fom_tick__svc_alloc (struct ss_fom *m, const struct m0_sss_req *fop, struct m0_reqh *reqh) |
|
static int | ss_fom_tick__start (struct m0_reqh_service *svc, struct m0_fom *fom, struct m0_reqh_service_start_async_ctx *ctx) |
|
static int | ss_fom_tick__stop (struct m0_reqh_service *svc, struct m0_reqh *reqh, struct m0_fom *fom) |
|
static int | ss_fom_tick__quiesce (struct m0_reqh_service *svc) |
|
◆ M0_TRACE_SUBSYSTEM
#define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_SSS |
◆ ss_fom_stage
Stages of Start Stop fom.
All custom phases of Start Stop FOM are separated into two stages.
One part of custom phases is executed outside of FOM local transaction context (before M0_FOPH_TXN_INIT phase), the other part is executed as usual for FOMs in context of local transaction.
Separation is done to prevent dead-lock between two exclusively opened BE transactions: one is in FOM local transaction context and the other one created during start service, like IO service.
- See also
- ss_fom_phases.
Enumerator |
---|
SS_FOM_STAGE_BEFORE_TX | Phases of this stage are executed before M0_FOPH_TXN_INIT phase.
|
SS_FOM_STAGE_AFTER_TX | Stage includes phases which works ordinary methods.
|
Definition at line 62 of file ss_svc.c.
◆ ss_fom_create()
◆ ss_fom_fini()
static void ss_fom_fini |
( |
struct m0_fom * |
fom | ) |
|
|
static |
◆ ss_fom_home_locality()
static size_t ss_fom_home_locality |
( |
const struct m0_fom * |
fom | ) |
|
|
static |
◆ ss_fom_tick()
static int ss_fom_tick |
( |
struct m0_fom * |
fom | ) |
|
|
static |
◆ ss_fom_tick__init()
◆ ss_fom_tick__quiesce()
◆ ss_fom_tick__start()
◆ ss_fom_tick__stop()
◆ ss_fom_tick__svc_alloc()
◆ ss_svc_health()
◆ ss_svc_rso_fini()
◆ ss_svc_rso_health()
◆ ss_svc_rso_start()
◆ ss_svc_rso_stop()
◆ ss_svc_rsto_service_allocate()
◆ M0_XCA_DOMAIN
◆ ss_fom_conf
Initial value:= {
.scf_name = "ss-fom-sm",
}
Definition at line 265 of file ss_svc.c.
◆ ss_fom_ops
Initial value:= {
}
static size_t ss_fom_home_locality(const struct m0_fom *fom)
static int ss_fom_tick(struct m0_fom *fom)
static void ss_fom_fini(struct m0_fom *fom)
Definition at line 216 of file ss_svc.c.
◆ ss_fom_phases
◆ ss_fom_type_ops
Initial value:= {
}
static int ss_fom_create(struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
Definition at line 222 of file ss_svc.c.
◆ ss_svc_ops
Initial value:= {
}
static void ss_svc_rso_fini(struct m0_reqh_service *service)
static enum m0_service_health ss_svc_rso_health(struct m0_reqh_service *service)
static int ss_svc_rso_start(struct m0_reqh_service *service)
static void ss_svc_rso_stop(struct m0_reqh_service *service)
Definition at line 125 of file ss_svc.c.
◆ ss_svc_type_ops
Initial value:= {
}
static int ss_svc_rsto_service_allocate(struct m0_reqh_service **service, const struct m0_reqh_service_type *stype)
Definition at line 155 of file ss_svc.c.