Motr  M0
m0_dix_cm_iter Struct Reference

#include <iter.h>

Collaboration diagram for m0_dix_cm_iter:
Collaboration graph

Data Fields

struct m0_fom di_fom
 
struct m0_fid di_cctg_fid
 
struct m0_fid di_prev_cctg_fid
 
bool di_meta_modified
 
struct m0_clink di_meta_clink
 
struct m0_cas_ctgdi_cctg
 
uint64_t di_cctg_processed_recs_nr
 
uint64_t di_processed_recs_nr
 
struct m0_dix_ldesc di_ldesc
 
struct m0_buf di_key
 
struct m0_buf di_val
 
struct m0_buf di_prev_key
 
struct m0_ctg_op di_ctidx_op
 
struct m0_ctg_op di_ctg_op
 
struct m0_ctg_op di_ctg_del_op
 
int di_ctg_del_op_rc
 
struct m0_long_lock_link di_lock_link
 
struct m0_long_lock_link di_meta_lock_link
 
struct m0_long_lock_link di_del_lock_link
 
struct m0_long_lock_addb2 di_lock_addb2
 
struct m0_long_lock_addb2 di_meta_lock_addb2
 
struct m0_long_lock_addb2 di_del_lock_addb2
 
struct m0_sm_ast di_ast
 
bool di_stop
 
struct m0_chan di_completed
 
struct m0_mutex di_ch_guard
 
uint64_t * di_tgts
 
uint64_t di_tgts_cur
 
uint64_t di_tgts_nr
 
m0_bcount_t di_cutoff
 

Detailed Description

DIX copy machine data iterator.

Definition at line 46 of file iter.h.

Field Documentation

◆ di_ast

struct m0_sm_ast di_ast

AST to post 'stop' event to FOM.

Definition at line 147 of file iter.h.

◆ di_cctg

struct m0_cas_ctg* di_cctg

Current component catalogue.

Definition at line 72 of file iter.h.

◆ di_cctg_fid

struct m0_fid di_cctg_fid

Current component catalogue fid.

Definition at line 55 of file iter.h.

◆ di_cctg_processed_recs_nr

uint64_t di_cctg_processed_recs_nr

Number of processed records on scope of current component catalogue.

Definition at line 77 of file iter.h.

◆ di_ch_guard

struct m0_mutex di_ch_guard

Channel guard for di_completed.

Definition at line 159 of file iter.h.

◆ di_completed

struct m0_chan di_completed

Channel indicating that next key/value pair is retrieved (or EOF is reached).

Definition at line 156 of file iter.h.

◆ di_ctg_del_op

struct m0_ctg_op di_ctg_del_op

Catalogue operation to delete key/value in case of re-balance.

Definition at line 113 of file iter.h.

◆ di_ctg_del_op_rc

int di_ctg_del_op_rc

Result of delete key/value operation in case of re-balance.

Definition at line 118 of file iter.h.

◆ di_ctg_op

struct m0_ctg_op di_ctg_op

Catalogue operation to iterate over keys in the current catalogue.

Definition at line 108 of file iter.h.

◆ di_ctidx_op

struct m0_ctg_op di_ctidx_op

Catalogue operation to iterate over records in catalogue-index catalogue.

Definition at line 103 of file iter.h.

◆ di_cutoff

m0_bcount_t di_cutoff

Minimal threshold in bytes for transmission using bulk.

Definition at line 171 of file iter.h.

◆ di_del_lock_addb2

struct m0_long_lock_addb2 di_del_lock_addb2

ADDB2 instrumentation for del lock.

Definition at line 144 of file iter.h.

◆ di_del_lock_link

struct m0_long_lock_link di_del_lock_link

Long lock link used to get catalogue store "delete" lock. See m0_ctg_del_lock().

Definition at line 135 of file iter.h.

◆ di_fom

struct m0_fom di_fom

Iterator state machine (FOM). FOM is used instead of simple SM because catalogue store is FOM-oriented.

Definition at line 52 of file iter.h.

◆ di_key

struct m0_buf di_key

Current key in the index.

Definition at line 91 of file iter.h.

◆ di_ldesc

struct m0_dix_ldesc di_ldesc

Layout of the distributed index to which current component catalogue belongs.

Definition at line 88 of file iter.h.

◆ di_lock_addb2

struct m0_long_lock_addb2 di_lock_addb2

ADDB2 instrumentation for long lock.

Definition at line 138 of file iter.h.

◆ di_lock_link

struct m0_long_lock_link di_lock_link

Long lock link used to get read/write locks on ordinary catalogues.

Definition at line 123 of file iter.h.

◆ di_meta_clink

struct m0_clink di_meta_clink

Clink which tracks meta catalogue modifications.

Definition at line 69 of file iter.h.

◆ di_meta_lock_addb2

struct m0_long_lock_addb2 di_meta_lock_addb2

ADDB2 instrumentation for meta long lock.

Definition at line 141 of file iter.h.

◆ di_meta_lock_link

struct m0_long_lock_link di_meta_lock_link

Long lock link used to get read lock on meta catalogues (catalogue-index, meta).

Definition at line 129 of file iter.h.

◆ di_meta_modified

bool di_meta_modified

Flag indicating that meta catalogue was modified while iterator was busy processing records. It is used to detect changes in meta btree and re-seek catalogue address. Iterator doesn't assume that address of current catalogue remains the same after meta btree changes.

Definition at line 66 of file iter.h.

◆ di_prev_cctg_fid

struct m0_fid di_prev_cctg_fid

Previous component catalogue fid.

Definition at line 58 of file iter.h.

◆ di_prev_key

struct m0_buf di_prev_key

Previous key in the index.

Definition at line 97 of file iter.h.

◆ di_processed_recs_nr

uint64_t di_processed_recs_nr

Number of overall processed records.

Definition at line 82 of file iter.h.

◆ di_stop

bool di_stop

Iterator stopping was requested by the user.

Definition at line 150 of file iter.h.

◆ di_tgts

uint64_t* di_tgts

Target devices where lost data should be repaired.

Definition at line 162 of file iter.h.

◆ di_tgts_cur

uint64_t di_tgts_cur

Current target device where lost data should be repaired.

Definition at line 165 of file iter.h.

◆ di_tgts_nr

uint64_t di_tgts_nr

Number of target devices where lost data should be repaired.

Definition at line 168 of file iter.h.

◆ di_val

struct m0_buf di_val

Current value in the index.

Definition at line 94 of file iter.h.


The documentation for this struct was generated from the following file: