Motr  M0
cs_fop.c File Reference
#include "lib/errno.h"
#include "lib/assert.h"
#include "lib/memory.h"
#include "lib/chan.h"
#include "lib/finject.h"
#include "lib/time.h"
#include "lib/misc.h"
#include "fop/fop.h"
#include "fop/fom.h"
#include "fop/fom_generic.h"
#include "rpc/rpc.h"
#include "rpc/rpclib.h"
#include "fop/fop_item_type.h"
#include "ut/cs_fop.h"
#include "ut/cs_fop_xc.h"
#include "rpc/rpc_opcodes.h"
Include dependency graph for cs_fop.c:

Go to the source code of this file.

Enumerations

enum  ds_phases { M0_FOPH_DS1_REQ = M0_FOPH_NR + 1, M0_FOPH_DS2_REQ = M0_FOPH_NR + 1 }
 

Functions

static void cs_ut_rpc_item_reply_cb (struct m0_rpc_item *item)
 
static int cs_req_fop_fom_tick (struct m0_fom *fom)
 
static int cs_ds1_req_fop_fom_create (struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
 
static int cs_ds2_req_fop_fom_create (struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
 
static void cs_ut_fom_fini (struct m0_fom *fom)
 
static size_t cs_ut_find_fom_home_locality (const struct m0_fom *fom)
 
void m0_cs_ut_ds1_fop_fini (void)
 
int m0_cs_ut_ds1_fop_init (void)
 
void m0_cs_ut_ds2_fop_fini (void)
 
int m0_cs_ut_ds2_fop_init (void)
 
void m0_ut_fom_phase_set (struct m0_fom *fom, int phase)
 
static int cs_ds_req_fop_fom_create (struct m0_fop *fop, const struct m0_fom_ops *ops, struct m0_fom **out, struct m0_reqh *reqh)
 

Variables

const struct m0_rpc_item_ops cs_ds_req_fop_rpc_item_ops
 
struct m0_fop_type cs_ds1_req_fop_fopt
 
struct m0_fop_type cs_ds1_rep_fop_fopt
 
struct m0_fop_type cs_ds2_req_fop_fopt
 
struct m0_fop_type cs_ds2_rep_fop_fopt
 
static const struct m0_fom_ops cs_ds1_req_fop_fom_ops
 
static const struct m0_fom_ops cs_ds2_req_fop_fom_ops
 
struct m0_reqh_service_type ds1_service_type
 
struct m0_reqh_service_type ds2_service_type
 
static const struct m0_fom_type_ops cs_ds1_req_fop_fom_type_ops
 
static const struct m0_fom_type_ops cs_ds2_req_fop_fom_type_ops
 

Enumeration Type Documentation

◆ ds_phases

enum ds_phases
Enumerator
M0_FOPH_DS1_REQ 
M0_FOPH_DS2_REQ 

Definition at line 88 of file cs_fop.c.

Function Documentation

◆ cs_ds1_req_fop_fom_create()

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

Definition at line 235 of file cs_fop.c.

Here is the call graph for this function:

◆ cs_ds2_req_fop_fom_create()

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

Definition at line 242 of file cs_fop.c.

Here is the call graph for this function:

◆ cs_ds_req_fop_fom_create()

static int cs_ds_req_fop_fom_create ( struct m0_fop fop,
const struct m0_fom_ops ops,
struct m0_fom **  out,
struct m0_reqh reqh 
)
static

Definition at line 205 of file cs_fop.c.

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

◆ cs_req_fop_fom_tick()

static int cs_req_fop_fom_tick ( struct m0_fom fom)
static

Definition at line 275 of file cs_fop.c.

Here is the call graph for this function:

◆ cs_ut_find_fom_home_locality()

static size_t cs_ut_find_fom_home_locality ( const struct m0_fom fom)
static

Definition at line 264 of file cs_fop.c.

Here is the call graph for this function:

◆ cs_ut_fom_fini()

static void cs_ut_fom_fini ( struct m0_fom fom)
static

Definition at line 252 of file cs_fop.c.

Here is the call graph for this function:

◆ cs_ut_rpc_item_reply_cb()

static void cs_ut_rpc_item_reply_cb ( struct m0_rpc_item item)
static

Definition at line 107 of file cs_fop.c.

Here is the call graph for this function:

◆ m0_cs_ut_ds1_fop_fini()

void m0_cs_ut_ds1_fop_fini ( void  )

Definition at line 122 of file cs_fop.c.

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

◆ m0_cs_ut_ds1_fop_init()

int m0_cs_ut_ds1_fop_init ( void  )

Definition at line 129 of file cs_fop.c.

Here is the caller graph for this function:

◆ m0_cs_ut_ds2_fop_fini()

void m0_cs_ut_ds2_fop_fini ( void  )

Definition at line 154 of file cs_fop.c.

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

◆ m0_cs_ut_ds2_fop_init()

int m0_cs_ut_ds2_fop_init ( void  )

Definition at line 161 of file cs_fop.c.

Here is the caller graph for this function:

◆ m0_ut_fom_phase_set()

void m0_ut_fom_phase_set ( struct m0_fom fom,
int  phase 
)

Definition at line 186 of file cs_fop.c.

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

Variable Documentation

◆ cs_ds1_rep_fop_fopt

struct m0_fop_type cs_ds1_rep_fop_fopt

Definition at line 52 of file cs_fop.c.

◆ cs_ds1_req_fop_fom_ops

const struct m0_fom_ops cs_ds1_req_fop_fom_ops
static
Initial value:
= {
.fo_fini = cs_ut_fom_fini,
.fo_tick = cs_req_fop_fom_tick,
.fo_home_locality = cs_ut_find_fom_home_locality
}
static void cs_ut_fom_fini(struct m0_fom *fom)
Definition: cs_fop.c:252
static size_t cs_ut_find_fom_home_locality(const struct m0_fom *fom)
Definition: cs_fop.c:264
static int cs_req_fop_fom_tick(struct m0_fom *fom)
Definition: cs_fop.c:275

Definition at line 70 of file cs_fop.c.

◆ cs_ds1_req_fop_fom_type_ops

const struct m0_fom_type_ops cs_ds1_req_fop_fom_type_ops
static
Initial value:
= {
}
static int cs_ds1_req_fop_fom_create(struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
Definition: cs_fop.c:235

Definition at line 96 of file cs_fop.c.

◆ cs_ds1_req_fop_fopt

struct m0_fop_type cs_ds1_req_fop_fopt

Definition at line 51 of file cs_fop.c.

◆ cs_ds2_rep_fop_fopt

struct m0_fop_type cs_ds2_rep_fop_fopt

Definition at line 54 of file cs_fop.c.

◆ cs_ds2_req_fop_fom_ops

const struct m0_fom_ops cs_ds2_req_fop_fom_ops
static
Initial value:
= {
.fo_fini = cs_ut_fom_fini,
.fo_tick = cs_req_fop_fom_tick,
.fo_home_locality = cs_ut_find_fom_home_locality
}
static void cs_ut_fom_fini(struct m0_fom *fom)
Definition: cs_fop.c:252
static size_t cs_ut_find_fom_home_locality(const struct m0_fom *fom)
Definition: cs_fop.c:264
static int cs_req_fop_fom_tick(struct m0_fom *fom)
Definition: cs_fop.c:275

Definition at line 79 of file cs_fop.c.

◆ cs_ds2_req_fop_fom_type_ops

const struct m0_fom_type_ops cs_ds2_req_fop_fom_type_ops
static
Initial value:
= {
}
static int cs_ds2_req_fop_fom_create(struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
Definition: cs_fop.c:242

Definition at line 103 of file cs_fop.c.

◆ cs_ds2_req_fop_fopt

struct m0_fop_type cs_ds2_req_fop_fopt

Definition at line 53 of file cs_fop.c.

◆ cs_ds_req_fop_rpc_item_ops

const struct m0_rpc_item_ops cs_ds_req_fop_rpc_item_ops
Initial value:
= {
.rio_replied = cs_ut_rpc_item_reply_cb,
}
static void cs_ut_rpc_item_reply_cb(struct m0_rpc_item *item)
Definition: cs_fop.c:107

Definition at line 47 of file cs_fop.c.

◆ ds1_service_type

struct m0_reqh_service_type ds1_service_type

Definition at line 60 of file cs_service.c.

◆ ds2_service_type

struct m0_reqh_service_type ds2_service_type

Definition at line 66 of file cs_service.c.