Motr  M0
dtx.c File Reference
#include "lib/trace.h"
#include "ut/ut.h"
#include "lib/misc.h"
#include "dtm/dtm.h"
#include "dtm/fol.h"
#include "dtm/dtx.h"
#include "dtm/dtm_internal.h"
#include "dtm/remote.h"
Include dependency graph for dtx.c:

Go to the source code of this file.

Data Structures

struct  m0_dtm_dtx_party
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_DTM
 

Enumerations

enum  {
  OPER_NR = 3, UPDATE_NR = 15, REM_NR = 7, DTM_NR = REM_NR + 1,
  FAN_NR = UPDATE_NR/REM_NR + 1 + 2
}
 

Functions

static void noop (struct m0_dtm_op *op)
 
static void never (struct m0_dtm_op *op)
 
static int undo_redo (struct m0_dtm_update *updt)
 
static int update_init (struct m0_dtm_history *history, uint8_t id, struct m0_dtm_update *update)
 
static void test_persistent (struct m0_dtm_history *history)
 
static int hfind (struct m0_dtm *dtm, const struct m0_dtm_history_type *ht, const struct m0_uint128 *id, struct m0_dtm_history **out)
 
static const struct m0_uint128hid (const struct m0_dtm_history *history)
 
static void init0 (void)
 
static void fini0 (void)
 
static void init1 (void)
 
static void fini1 (void)
 
static void init2 (void)
 
static void fini2 (void)
 
static void init3 (void)
 
static void fini3 (void)
 
static void init4 (void)
 
static void fini4 (void)
 
static void init5 (void)
 
static void fini5 (void)
 
static void dtm_setup (void)
 
static void dtx_setup (void)
 
static void dtx_populate (void)
 
static void dtx_pack (void)
 
static void dtx_reply (void)
 
static void dtx_fix (void)
 

Variables

enum { ... }  M0_XCA_DOMAIN
 
static struct m0_dtm dtm_local
 
static struct m0_dtm dtm_remote [REM_NR]
 
static struct m0_dtm_local_remote remote_local [REM_NR]
 
static struct m0_dtm_local_remote remote_remote [REM_NR]
 
static struct m0_dtm_dtx dx
 
static struct m0_dtm_history history0 [UPDATE_NR *DTM_NR]
 
static struct m0_dtm_update control_local [OPER_NR][2 *DTM_NR]
 
static struct m0_dtm_update control_remote [REM_NR][OPER_NR][1]
 
static struct m0_uint128 id0 [UPDATE_NR *DTM_NR]
 
static struct m0_dtm_oper oper_local [OPER_NR]
 
static struct m0_dtm_oper oper_remote [REM_NR][OPER_NR]
 
static struct m0_dtm_update update_local [OPER_NR][UPDATE_NR]
 
static struct m0_dtm_update update_remote [REM_NR][OPER_NR][FAN_NR]
 
static struct m0_dtm_historyhistory_local
 
static struct m0_dtm_historyhistory_remote [REM_NR]
 
static struct m0_dtm_fol fol_remote [REM_NR]
 
static struct m0_tl uu
 
static struct m0_dtm_update_descr udescr [REM_NR][OPER_NR][FAN_NR]
 
static struct m0_dtm_update_descr ureply [REM_NR][OPER_NR][FAN_NR]
 
static struct m0_dtm_oper_descr ode [REM_NR][OPER_NR]
 
static struct m0_dtm_oper_descr ode_reply [REM_NR][OPER_NR]
 
static const struct m0_dtm_update_type test_utype
 
static const struct m0_dtm_update_ops test_ops
 
static const struct m0_dtm_op_ops op_ops
 
static const struct m0_dtm_history_ops hops
 
static const struct m0_dtm_history_type_ops htype_ops
 
static const struct m0_dtm_history_type htype
 
struct m0_ut_suite dtm_dtx_ut