Motr
M0
|
#include <unistd.h>
#include "lib/trace.h"
#include "lib/memory.h"
#include "sm/sm.h"
#include "fop/fom.h"
#include "dix/cm/cm.h"
#include "pool/pool.h"
#include "pool/pool_machine.h"
#include "reqh/reqh.h"
#include "lib/finject.h"
#include "dix/fid_convert.h"
#include "dix/cm/iter.h"
Go to the source code of this file.
Macros | |
#define | M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_DIXCM |
Enumerations | |
enum | dix_cm_iter_phase { DIX_ITER_INIT = M0_FOM_PHASE_INIT, DIX_ITER_FINAL = M0_FOM_PHASE_FINISH, DIX_ITER_STARTED = M0_FOM_PHASE_NR, DIX_ITER_DEL_LOCK, DIX_ITER_CTIDX_START, DIX_ITER_CTIDX_REPOS, DIX_ITER_CTIDX_NEXT, DIX_ITER_NEXT_CCTG, DIX_ITER_META_LOCK, DIX_ITER_CCTG_LOOKUP, DIX_ITER_CCTG_START, DIX_ITER_CCTG_CONT, DIX_ITER_CCTG_CUR_NEXT, DIX_ITER_NEXT_KEY, DIX_ITER_IDLE_START, DIX_ITER_DEL_TX_OPENED, DIX_ITER_DEL_TX_WAIT, DIX_ITER_DEL_TX_DONE, DIX_ITER_IDLE_FIN, DIX_ITER_CCTG_CHECK, DIX_ITER_EOF, DIX_ITER_FAILURE } |
Functions | |
static int | dix_cm_iter_buf_copy (struct m0_buf *dst, struct m0_buf *src, m0_bcount_t cutoff) |
static uint64_t | dix_cm_iter_fom_locality (const struct m0_fom *fom) |
static bool | dix_cm_iter_meta_clink_cb (struct m0_clink *cl) |
static void | dix_cm_iter_init (struct m0_dix_cm_iter *iter) |
static void | dix_cm_iter_dtx_fini (struct m0_dix_cm_iter *iter) |
static void | dix_cm_iter_tgts_fini (struct m0_dix_cm_iter *iter) |
static void | dix_cm_iter_fini (struct m0_dix_cm_iter *iter) |
static int | dix_cm_iter_failure (struct m0_dix_cm_iter *iter, int rc) |
static int | dix_cm_iter_eof (struct m0_dix_cm_iter *iter) |
static int | dix_cm_iter_idle (struct m0_dix_cm_iter *iter) |
static int | dix_cm_iter_dtx_failure (struct m0_dix_cm_iter *iter) |
static struct m0_poolmach * | dix_cm_pm_get (struct m0_dix_cm *dix_cm, struct m0_dix_layout *layout) |
static int | dix_cm_layout_iter_init (struct m0_dix_layout_iter *iter, const struct m0_fid *index, struct m0_dix_layout *layout, struct m0_dix_cm *dix_cm, struct m0_buf *key) |
static int | dix_cm_tgt_to_unit (uint64_t tgt, uint64_t *group_tgts, uint64_t group_tgts_nr, uint64_t *unit) |
static bool | dix_cm_repair_spare_has_data (struct m0_dix_layout_iter *iter, struct m0_poolmach *pm, uint64_t *group_tgts, uint64_t group_tgts_nr, uint64_t spare_id) |
static int | dix_cm_rebalance_tgts_get (struct m0_dix_layout_iter *iter, struct m0_poolmach *pm, uint64_t *group_tgts, uint64_t group_tgts_nr, uint64_t spare_id, uint64_t **tgts, uint64_t *tgts_nr) |
static int | dix_cm_repair_tgts_get (struct m0_dix_layout_iter *iter, struct m0_poolmach *pm, uint64_t **tgts, uint64_t *tgts_nr) |
static void | parity_group_print (struct m0_dix_layout_iter *iter, struct m0_poolmach *pm, uint64_t local_device, struct m0_buf *key) |
static void | spare_usage_print (struct m0_dix_layout_iter *iter, struct m0_poolmach *pm) |
static void | tgts_print (struct m0_dix_layout_iter *iter, uint64_t *tgts, uint64_t tgts_nr, struct m0_buf *key) |
static bool | dix_cm_is_repair_coordinator (struct m0_dix_layout_iter *iter, struct m0_poolmach *pm, uint64_t local_dev) |
static int | dix_cm_iter_rebalance_tgts_get (struct m0_dix_cm_iter *iter, struct m0_dix_layout_iter *liter, struct m0_poolmach *pm, uint64_t local_device, struct m0_buf *key, bool *is_coordinator, uint64_t **tgts, uint64_t *tgts_nr) |
static int | dix_cm_iter_repair_tgts_get (struct m0_dix_cm_iter *iter, struct m0_dix_layout_iter *liter, struct m0_poolmach *pm, uint64_t local_device, struct m0_buf *key, bool *is_coordinator, uint64_t **tgts, uint64_t *tgts_nr) |
static int | dix_cm_iter_next_key (struct m0_dix_cm_iter *iter, struct m0_buf *key, struct m0_buf *val, bool *is_coordinator) |
static void | dix_cm_iter_meta_unlock (struct m0_dix_cm_iter *iter) |
static int | dix_cm_iter_fom_tick (struct m0_fom *fom) |
static void | dix_cm_iter_fom_fini (struct m0_fom *fom) |
M0_INTERNAL void | m0_dix_cm_iter_type_register (struct m0_dix_cm_type *dcmt) |
M0_INTERNAL int | m0_dix_cm_iter_start (struct m0_dix_cm_iter *iter, struct m0_dix_cm_type *dcmt, struct m0_reqh *reqh, m0_bcount_t rpc_cutoff) |
static void | dix_cm_iter_next_ast_cb (struct m0_sm_group *grp, struct m0_sm_ast *ast) |
M0_INTERNAL void | m0_dix_cm_iter_next (struct m0_dix_cm_iter *iter) |
M0_INTERNAL int | m0_dix_cm_iter_get (struct m0_dix_cm_iter *iter, struct m0_buf *key, struct m0_buf *val, uint32_t *sdev_id) |
static void | dix_cm_iter_stop_ast_cb (struct m0_sm_group *grp, struct m0_sm_ast *ast) |
M0_INTERNAL void | m0_dix_cm_iter_stop (struct m0_dix_cm_iter *iter) |
M0_INTERNAL void | m0_dix_cm_iter_cur_pos (struct m0_dix_cm_iter *iter, struct m0_fid *cctg_fid, uint64_t *cctg_proc_recs_nr) |
M0_INTERNAL void | m0_dix_cm_iter_processed_num (struct m0_dix_cm_iter *iter, uint64_t *proc_recs_nr) |
Variables | |
enum dix_cm_iter_phase | M0_XCA_DOMAIN |
static struct m0_sm_state_descr | dix_cm_iter_phases [] |
static struct m0_sm_trans_descr | dix_cm_iter_trans [] |
static const struct m0_sm_conf | dix_cm_iter_sm_conf |
static const struct m0_fom_ops | dix_cm_iter_fom_ops |
static const struct m0_fom_type_ops | dix_cm_iter_fom_type_ops |