Motr  M0
fom_generic.h File Reference
#include "fop/fom.h"
#include "lib/types.h"
#include "xcode/xcode_attr.h"
#include "lib/string.h"
#include "lib/string_xc.h"
#include "be/tx.h"
#include "be/tx_xc.h"
Include dependency graph for fom_generic.h:

Go to the source code of this file.

Data Structures

struct  m0_fop_generic_reply
 
struct  m0_fop_mod_rep
 

Macros

#define __MOTR_FOP_FOM_GENERIC_H__
 
#define FOM_PHASE_STATS_DATA_SZ(nr)   (M0_FOM_STATS_CNTR_DATA * (nr))
 

Enumerations

enum  m0_fom_standard_phase {
  M0_FOPH_INIT = M0_FOM_PHASE_INIT, M0_FOPH_FINISH = M0_FOM_PHASE_FINISH, M0_FOPH_AUTHENTICATE, M0_FOPH_AUTHENTICATE_WAIT,
  M0_FOPH_RESOURCE_LOCAL, M0_FOPH_RESOURCE_LOCAL_WAIT, M0_FOPH_RESOURCE_DISTRIBUTED, M0_FOPH_RESOURCE_DISTRIBUTED_WAIT,
  M0_FOPH_OBJECT_CHECK, M0_FOPH_OBJECT_CHECK_WAIT, M0_FOPH_AUTHORISATION, M0_FOPH_AUTHORISATION_WAIT,
  M0_FOPH_TXN_INIT, M0_FOPH_TXN_OPEN, M0_FOPH_TXN_WAIT, M0_FOPH_SUCCESS,
  M0_FOPH_FOL_REC_ADD, M0_FOPH_TXN_COMMIT, M0_FOPH_QUEUE_REPLY, M0_FOPH_QUEUE_REPLY_WAIT,
  M0_FOPH_TXN_LOGGED_WAIT, M0_FOPH_TXN_DONE_WAIT, M0_FOPH_TIMEOUT, M0_FOPH_FAILURE,
  M0_FOPH_NR, M0_FOPH_TYPE_SPECIFIC
}
 
enum  { M0_FOM_GENERIC_TRANS_NR = 48 }
 

Functions

int m0_fom_tick_generic (struct m0_fom *fom)
 
M0_INTERNAL void m0_fom_generic_fini (void)
 
M0_INTERNAL int m0_fom_generic_init (void)
 
struct m0_fop_generic_reply M0_XCA_DOMAIN (rpc)
 
bool m0_rpc_item_is_generic_reply_fop (const struct m0_rpc_item *item)
 
M0_INTERNAL void m0_fom_mod_rep_fill (struct m0_fop_mod_rep *rep, struct m0_fom *fom)
 
int32_t m0_rpc_item_generic_reply_rc (const struct m0_rpc_item *item)
 
M0_INTERNAL int m0_fom_tx_done_wait (struct m0_fom *fom)
 

Variables

struct m0_sm_trans_descr m0_generic_phases_trans [M0_FOM_GENERIC_TRANS_NR]
 
const struct m0_sm_conf m0_generic_conf
 
int32_t gr_rc
 
struct m0_fop_str gr_msg
 
struct m0_fop_type m0_fop_generic_reply_fopt
 
struct m0_be_tx_remid fmr_remid
 

Macro Definition Documentation

◆ __MOTR_FOP_FOM_GENERIC_H__

#define __MOTR_FOP_FOM_GENERIC_H__

Definition at line 26 of file fom_generic.h.

◆ FOM_PHASE_STATS_DATA_SZ

#define FOM_PHASE_STATS_DATA_SZ (   nr)    (M0_FOM_STATS_CNTR_DATA * (nr))

Definition at line 42 of file fom_generic.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
M0_FOM_GENERIC_TRANS_NR 

Definition at line 214 of file fom_generic.h.

◆ m0_fom_standard_phase

"Phases" through which fom execution typically passes.

This enumerates standard phases, handled by the generic code independent of fom type.

For documentation links, please refer to this file : doc/motr-design-doc-list.rst

See also
m0_fom_tick_generic()
Enumerator
M0_FOPH_INIT 
M0_FOPH_FINISH 
M0_FOPH_AUTHENTICATE 
M0_FOPH_AUTHENTICATE_WAIT 
M0_FOPH_RESOURCE_LOCAL 
M0_FOPH_RESOURCE_LOCAL_WAIT 
M0_FOPH_RESOURCE_DISTRIBUTED 
M0_FOPH_RESOURCE_DISTRIBUTED_WAIT 
M0_FOPH_OBJECT_CHECK 
M0_FOPH_OBJECT_CHECK_WAIT 
M0_FOPH_AUTHORISATION 
M0_FOPH_AUTHORISATION_WAIT 
M0_FOPH_TXN_INIT 
M0_FOPH_TXN_OPEN 
M0_FOPH_TXN_WAIT 
M0_FOPH_SUCCESS 
M0_FOPH_FOL_REC_ADD 
M0_FOPH_TXN_COMMIT 
M0_FOPH_QUEUE_REPLY 
M0_FOPH_QUEUE_REPLY_WAIT 
M0_FOPH_TXN_LOGGED_WAIT 
M0_FOPH_TXN_DONE_WAIT 
M0_FOPH_TIMEOUT 
M0_FOPH_FAILURE 
M0_FOPH_NR 
M0_FOPH_TYPE_SPECIFIC 

Definition at line 55 of file fom_generic.h.

Function Documentation

◆ M0_XCA_DOMAIN()

struct m0_fop_generic_reply M0_XCA_DOMAIN ( rpc  )

Variable Documentation

◆ fmr_remid

struct m0_be_tx_remid fmr_remid

Remote ID assigned to this UPDATE operation

Definition at line 238 of file fom_generic.h.

◆ gr_msg

struct m0_fop_str gr_msg

Definition at line 214 of file fom_generic.h.

◆ gr_rc

int32_t gr_rc

Definition at line 213 of file fom_generic.h.