Motr  M0
SNS copy machine Copy packet
Collaboration diagram for SNS copy machine Copy packet:

Functions

M0_INTERNAL int m0_sns_cm_repair_cp_xform (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_rebalance_cp_xform (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_repair_cp_send (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_rebalance_cp_send (struct m0_cm_cp *cp)
 
M0_INTERNAL struct m0_sns_cm_cpcp2snscp (const struct m0_cm_cp *cp)
 
M0_INTERNAL bool m0_sns_cm_cp_invariant (const struct m0_cm_cp *cp)
 
M0_INTERNAL struct m0_cmcpfom2cm (struct m0_fom *fom)
 
M0_INTERNAL uint64_t cp_home_loc_helper (const struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_init (struct m0_cm_cp *cp)
 
static void sns_cm_cp_stob_punch_credit (struct m0_sns_cm_cp *sns_cp, struct m0_be_tx_credit *accum)
 
M0_INTERNAL int m0_sns_cm_cp_tx_open (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_tx_close (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_fail (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_phase_next (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_next_phase_get (int phase, struct m0_cm_cp *cp)
 
M0_INTERNAL void m0_sns_cm_cp_complete (struct m0_cm_cp *cp)
 
M0_INTERNAL void m0_sns_cm_cp_buf_release (struct m0_cm_cp *cp)
 
M0_INTERNAL void m0_sns_cm_cp_free (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_fini (struct m0_cm_cp *cp)
 
M0_INTERNAL void m0_sns_cm_cp_tgt_info_fill (struct m0_sns_cm_cp *scp, const struct m0_fid *cob_fid, uint64_t stob_offset, uint64_t ag_cp_idx)
 
M0_INTERNAL int m0_sns_cm_cp_setup (struct m0_sns_cm_cp *scp, const struct m0_fid *cob_fid, uint64_t stob_offset, uint64_t data_seg_nr, uint64_t failed_unit_index, uint64_t ag_cp_idx)
 
M0_INTERNAL int m0_sns_cm_cp_dup (struct m0_cm_cp *src, struct m0_cm_cp **dest)
 
static void cp_reply_received (struct m0_rpc_item *item)
 
static int indexvec_prepare (struct m0_io_indexvec *iv, m0_bindex_t idx, uint32_t seg_nr, size_t seg_size)
 
static int snscp_to_snscpx (const struct m0_sns_cm_cp *sns_cp, struct m0_sns_cpx *sns_cpx)
 
static void cp_fop_release (struct m0_ref *ref)
 
M0_INTERNAL int m0_sns_cm_cp_send (struct m0_cm_cp *cp, struct m0_fop_type *ft)
 
 M0_TL_DESCR_DECLARE (rpcbulk, M0_EXTERN)
 
 M0_TL_DECLARE (rpcbulk, M0_INTERNAL, struct m0_rpc_bulk_buf)
 
M0_INTERNAL int m0_sns_cm_cp_send_wait (struct m0_cm_cp *cp)
 
static void cp_buf_acquire (struct m0_cm_cp *cp)
 
static void cp_reply_post (struct m0_cm_cp *cp)
 
static uint32_t seg_nr_get (const struct m0_sns_cpx *sns_cpx, uint32_t ivec_nr)
 
static int ag_cp_recvd_from_proxy (struct m0_cm_aggr_group *ag, struct m0_sns_cm_cp *scp)
 
static int snscpx_to_snscp (const struct m0_sns_cpx *sns_cpx, struct m0_sns_cm_cp *sns_cp)
 
M0_INTERNAL int m0_sns_cm_cp_recv_init (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_recv_wait (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_sw_check (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_rebalance_tgt_info (struct m0_sns_cm_ag *sag, struct m0_sns_cm_cp *scp)
 
M0_INTERNAL int m0_sns_cm_repair_cp_recv_wait (struct m0_cm_cp *cp)
 
static void acc_cp_free (struct m0_cm_cp *cp)
 
static int acc_cp_fini (struct m0_cm_cp *cp)
 
M0_INTERNAL void m0_sns_cm_acc_cp_init (struct m0_sns_cm_cp *scp, struct m0_sns_cm_ag *sag)
 
M0_INTERNAL int m0_sns_cm_acc_cp_setup (struct m0_sns_cm_cp *scp, struct m0_fid *tgt_cobfid, uint64_t tgt_cob_index, uint64_t failed_unit_idx, uint64_t data_seg_nr)
 
M0_INTERNAL struct m0_sns_cm_repair_agsag2repairag (const struct m0_sns_cm_ag *sag)
 
M0_INTERNAL int repair_cp_bufvec_split (struct m0_cm_cp *cp)
 
static void bufvec_xor (struct m0_bufvec *dst, struct m0_bufvec *src, m0_bcount_t num_bytes)
 
static void cp_xor_recover (struct m0_cm_cp *dst_cp, struct m0_cm_cp *src_cp)
 
static int cp_rs_recover (struct m0_cm_cp *src_cp, uint32_t failed_index)
 
static void res_cp_bitmap_merge (struct m0_cm_cp *dst, struct m0_cm_cp *src)
 
static int res_cp_enqueue (struct m0_cm_cp *cp)
 
static int repair_ag_fc_acc_post (struct m0_sns_cm_repair_ag *rag, struct m0_sns_cm_repair_ag_failure_ctx *fc)
 
static int ivec_prepare (struct m0_cm_cp *cp, struct m0_indexvec *iv, m0_bindex_t idx, size_t unit_size, size_t max_buf_size, uint32_t bshift)
 
static int bufvec_prepare (struct m0_bufvec *obuf, struct m0_tl *cp_buffers_head, uint32_t data_seg_nr, size_t seg_size, uint32_t bshift)
 
static void bufvec_free (struct m0_bufvec *bv)
 
static int cp_prepare (struct m0_cm_cp *cp, struct m0_indexvec *dst_ivec, struct m0_bufvec *dst_bvec, m0_bindex_t start_idx, uint32_t bshift)
 
static int cp_stob_io_init (struct m0_cm_cp *cp, const enum m0_stob_io_opcode op)
 
M0_INTERNAL struct m0_cob_domainm0_sns_cm_cp2cdom (struct m0_cm_cp *cp)
 
static int cob_stob_check (struct m0_cm_cp *cp)
 
static int cp_stob_release_exts (struct m0_stob *stob, struct m0_indexvec *range, struct m0_dtx *dtx)
 
static bool cp_stob_io_is_initialised (struct m0_stob_io *io)
 
static int cp_io (struct m0_cm_cp *cp, const enum m0_stob_io_opcode op)
 
M0_INTERNAL int m0_sns_cm_cp_read (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_write_pre (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_write (struct m0_cm_cp *cp)
 
M0_INTERNAL int m0_sns_cm_cp_io_wait (struct m0_cm_cp *cp)
 

Variables

static int next []
 
const struct m0_cm_cp_ops m0_sns_cm_repair_cp_ops
 
const struct m0_cm_cp_ops m0_sns_cm_rebalance_cp_ops
 
static const struct m0_rpc_item_ops cp_item_ops
 
struct m0_fop_type m0_sns_rebalance_cpx_fopt
 
struct m0_fop_type m0_sns_rebalance_cpx_reply_fopt
 
const struct m0_cm_cp_ops m0_sns_cm_acc_cp_ops
 
struct m0_fop_type m0_sns_repair_cpx_fopt
 
struct m0_fop_type m0_sns_repair_cpx_reply_fopt
 

Detailed Description

Implements accumulator copy packet for an aggregation group. Accumulator copy packet is initialised when an aggregation group is created. Data buffers for accumulator copy packets are pre-acquired in context of the sns copy machine iterator. The number of accumulator copy packets in an aggregation group is equivalent to the total number of failed units in an aggregation group. In case of multiple accumulator copy packets, an accumulator copy packet is chosen based on the index of failed unit in an aggregation group to be recovered.

Function Documentation

◆ acc_cp_fini()

static int acc_cp_fini ( struct m0_cm_cp cp)
static

Definition at line 74 of file acc_cp.c.

◆ acc_cp_free()

static void acc_cp_free ( struct m0_cm_cp cp)
static

Definition at line 57 of file acc_cp.c.

Here is the call graph for this function:

◆ ag_cp_recvd_from_proxy()

static int ag_cp_recvd_from_proxy ( struct m0_cm_aggr_group ag,
struct m0_sns_cm_cp scp 
)
static

Definition at line 361 of file net.c.

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

◆ bufvec_free()

static void bufvec_free ( struct m0_bufvec bv)
static

Definition at line 111 of file storage.c.

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

◆ bufvec_prepare()

static int bufvec_prepare ( struct m0_bufvec obuf,
struct m0_tl cp_buffers_head,
uint32_t  data_seg_nr,
size_t  seg_size,
uint32_t  bshift 
)
static

Definition at line 74 of file storage.c.

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

◆ bufvec_xor()

static void bufvec_xor ( struct m0_bufvec dst,
struct m0_bufvec src,
m0_bcount_t  num_bytes 
)
static

XORs the source and destination bufvecs and stores the output in destination bufvec. This implementation assumes that both source and destination bufvecs have same size.

Parameters
dst- destination bufvec containing the output of src XOR dest.
src- source bufvec.
num_bytes- size of bufvec

Definition at line 69 of file xform.c.

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

◆ cob_stob_check()

static int cob_stob_check ( struct m0_cm_cp cp)
static

Definition at line 194 of file storage.c.

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

◆ cp2snscp()

M0_INTERNAL struct m0_sns_cm_cp* cp2snscp ( const struct m0_cm_cp cp)

Definition at line 57 of file cp.c.

Here is the caller graph for this function:

◆ cp_buf_acquire()

static void cp_buf_acquire ( struct m0_cm_cp cp)
static

Definition at line 329 of file net.c.

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

◆ cp_fop_release()

static void cp_fop_release ( struct m0_ref ref)
static

Definition at line 184 of file net.c.

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

◆ cp_home_loc_helper()

M0_INTERNAL uint64_t cp_home_loc_helper ( const struct m0_cm_cp cp)

Uses GOB fid key and parity group number to generate a scalar to help select a request handler locality for copy packet FOM.

Definition at line 80 of file cp.c.

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

◆ cp_io()

static int cp_io ( struct m0_cm_cp cp,
const enum m0_stob_io_opcode  op 
)
static

Definition at line 225 of file storage.c.

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

◆ cp_prepare()

static int cp_prepare ( struct m0_cm_cp cp,
struct m0_indexvec dst_ivec,
struct m0_bufvec dst_bvec,
m0_bindex_t  start_idx,
uint32_t  bshift 
)
static

Definition at line 117 of file storage.c.

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

◆ cp_reply_post()

static void cp_reply_post ( struct m0_cm_cp cp)
static

Definition at line 338 of file net.c.

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

◆ cp_reply_received()

static void cp_reply_received ( struct m0_rpc_item item)
static

Definition at line 157 of file net.c.

Here is the call graph for this function:

◆ cp_rs_recover()

static int cp_rs_recover ( struct m0_cm_cp src_cp,
uint32_t  failed_index 
)
static

Definition at line 132 of file xform.c.

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

◆ cp_stob_io_init()

static int cp_stob_io_init ( struct m0_cm_cp cp,
const enum m0_stob_io_opcode  op 
)
static

Definition at line 151 of file storage.c.

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

◆ cp_stob_io_is_initialised()

static bool cp_stob_io_is_initialised ( struct m0_stob_io io)
static

Definition at line 220 of file storage.c.

Here is the caller graph for this function:

◆ cp_stob_release_exts()

static int cp_stob_release_exts ( struct m0_stob stob,
struct m0_indexvec range,
struct m0_dtx dtx 
)
static

Definition at line 209 of file storage.c.

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

◆ cp_xor_recover()

static void cp_xor_recover ( struct m0_cm_cp dst_cp,
struct m0_cm_cp src_cp 
)
static

Definition at line 101 of file xform.c.

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

◆ cpfom2cm()

M0_INTERNAL struct m0_cm* cpfom2cm ( struct m0_fom fom)

Returns copy machine context by embedded context.

Parameters
fomFOM context.

Base CP context.

Definition at line 72 of file cp.c.

Here is the caller graph for this function:

◆ indexvec_prepare()

static int indexvec_prepare ( struct m0_io_indexvec iv,
m0_bindex_t  idx,
uint32_t  seg_nr,
size_t  seg_size 
)
static

Definition at line 61 of file net.c.

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

◆ ivec_prepare()

static int ivec_prepare ( struct m0_cm_cp cp,
struct m0_indexvec iv,
m0_bindex_t  idx,
size_t  unit_size,
size_t  max_buf_size,
uint32_t  bshift 
)
static

Definition at line 48 of file storage.c.

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

◆ m0_sns_cm_acc_cp_init()

M0_INTERNAL void m0_sns_cm_acc_cp_init ( struct m0_sns_cm_cp scp,
struct m0_sns_cm_ag sag 
)

Initialises accumulator copy packet and its corresponding FOM.

Definition at line 108 of file acc_cp.c.

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

◆ m0_sns_cm_acc_cp_setup()

M0_INTERNAL int m0_sns_cm_acc_cp_setup ( struct m0_sns_cm_cp scp,
struct m0_fid tgt_cobfid,
uint64_t  tgt_cob_index,
uint64_t  failed_unit_idx,
uint64_t  data_seg_nr 
)

Configures accumulator copy packet and acquires data buffers.

Definition at line 130 of file acc_cp.c.

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

◆ m0_sns_cm_cp2cdom()

M0_INTERNAL struct m0_cob_domain* m0_sns_cm_cp2cdom ( struct m0_cm_cp cp)

Definition at line 189 of file storage.c.

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

◆ m0_sns_cm_cp_buf_release()

M0_INTERNAL void m0_sns_cm_cp_buf_release ( struct m0_cm_cp cp)

Definition at line 326 of file cp.c.

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

◆ m0_sns_cm_cp_complete()

M0_INTERNAL void m0_sns_cm_cp_complete ( struct m0_cm_cp cp)

Definition at line 307 of file cp.c.

Here is the call graph for this function:

◆ m0_sns_cm_cp_dup()

M0_INTERNAL int m0_sns_cm_cp_dup ( struct m0_cm_cp src,
struct m0_cm_cp **  dest 
)

Definition at line 400 of file cp.c.

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

◆ m0_sns_cm_cp_fail()

M0_INTERNAL int m0_sns_cm_cp_fail ( struct m0_cm_cp cp)

Definition at line 216 of file cp.c.

Here is the call graph for this function:

◆ m0_sns_cm_cp_fini()

M0_INTERNAL int m0_sns_cm_cp_fini ( struct m0_cm_cp cp)

Definition at line 352 of file cp.c.

◆ m0_sns_cm_cp_free()

M0_INTERNAL void m0_sns_cm_cp_free ( struct m0_cm_cp cp)

Definition at line 338 of file cp.c.

Here is the call graph for this function:

◆ m0_sns_cm_cp_init()

M0_INTERNAL int m0_sns_cm_cp_init ( struct m0_cm_cp cp)

Definition at line 100 of file cp.c.

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

◆ m0_sns_cm_cp_invariant()

M0_INTERNAL bool m0_sns_cm_cp_invariant ( const struct m0_cm_cp cp)

Definition at line 62 of file cp.c.

Here is the call graph for this function:

◆ m0_sns_cm_cp_io_wait()

M0_INTERNAL int m0_sns_cm_cp_io_wait ( struct m0_cm_cp cp)

Copy packet IO wait phase function.

Definition at line 341 of file storage.c.

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

◆ m0_sns_cm_cp_next_phase_get()

M0_INTERNAL int m0_sns_cm_cp_next_phase_get ( int  phase,
struct m0_cm_cp cp 
)

Definition at line 274 of file cp.c.

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

◆ m0_sns_cm_cp_phase_next()

M0_INTERNAL int m0_sns_cm_cp_phase_next ( struct m0_cm_cp cp)

Definition at line 261 of file cp.c.

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

◆ m0_sns_cm_cp_read()

M0_INTERNAL int m0_sns_cm_cp_read ( struct m0_cm_cp cp)

Copy packet read phase function.

Definition at line 324 of file storage.c.

Here is the call graph for this function:

◆ m0_sns_cm_cp_recv_init()

M0_INTERNAL int m0_sns_cm_cp_recv_init ( struct m0_cm_cp cp)

Definition at line 432 of file net.c.

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

◆ m0_sns_cm_cp_recv_wait()

M0_INTERNAL int m0_sns_cm_cp_recv_wait ( struct m0_cm_cp cp)

Definition at line 512 of file net.c.

Here is the call graph for this function:

◆ m0_sns_cm_cp_send()

M0_INTERNAL int m0_sns_cm_cp_send ( struct m0_cm_cp cp,
struct m0_fop_type ft 
)

Definition at line 195 of file net.c.

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

◆ m0_sns_cm_cp_send_wait()

M0_INTERNAL int m0_sns_cm_cp_send_wait ( struct m0_cm_cp cp)

Definition at line 297 of file net.c.

Here is the call graph for this function:

◆ m0_sns_cm_cp_setup()

M0_INTERNAL int m0_sns_cm_cp_setup ( struct m0_sns_cm_cp scp,
const struct m0_fid cob_fid,
uint64_t  stob_offset,
uint64_t  data_seg_nr,
uint64_t  failed_unit_index,
uint64_t  ag_cp_idx 
)

Definition at line 368 of file cp.c.

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

◆ m0_sns_cm_cp_sw_check()

M0_INTERNAL int m0_sns_cm_cp_sw_check ( struct m0_cm_cp cp)

Definition at line 541 of file net.c.

Here is the call graph for this function:

◆ m0_sns_cm_cp_tgt_info_fill()

M0_INTERNAL void m0_sns_cm_cp_tgt_info_fill ( struct m0_sns_cm_cp scp,
const struct m0_fid cob_fid,
uint64_t  stob_offset,
uint64_t  ag_cp_idx 
)

Definition at line 357 of file cp.c.

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

◆ m0_sns_cm_cp_tx_close()

M0_INTERNAL int m0_sns_cm_cp_tx_close ( struct m0_cm_cp cp)

Definition at line 187 of file cp.c.

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

◆ m0_sns_cm_cp_tx_open()

M0_INTERNAL int m0_sns_cm_cp_tx_open ( struct m0_cm_cp cp)

Definition at line 146 of file cp.c.

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

◆ m0_sns_cm_cp_write()

M0_INTERNAL int m0_sns_cm_cp_write ( struct m0_cm_cp cp)

Copy packet write phase function.

Definition at line 335 of file storage.c.

Here is the call graph for this function:

◆ m0_sns_cm_cp_write_pre()

M0_INTERNAL int m0_sns_cm_cp_write_pre ( struct m0_cm_cp cp)

Definition at line 330 of file storage.c.

◆ m0_sns_cm_rebalance_cp_send()

M0_INTERNAL int m0_sns_cm_rebalance_cp_send ( struct m0_cm_cp cp)

Definition at line 37 of file net.c.

Here is the call graph for this function:

◆ m0_sns_cm_rebalance_cp_xform()

M0_INTERNAL int m0_sns_cm_rebalance_cp_xform ( struct m0_cm_cp cp)

Transformation function for sns rebalance.

Precondition
cp != NULL && m0_fom_phase(&cp->c_fom) == M0_CCP_XFORM
Parameters
cpCopy packet that has to be transformed.

Definition at line 50 of file xform.c.

Here is the call graph for this function:

◆ m0_sns_cm_rebalance_tgt_info()

M0_INTERNAL int m0_sns_cm_rebalance_tgt_info ( struct m0_sns_cm_ag sag,
struct m0_sns_cm_cp scp 
)

Definition at line 190 of file helpers.c.

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

◆ m0_sns_cm_repair_cp_recv_wait()

M0_INTERNAL int m0_sns_cm_repair_cp_recv_wait ( struct m0_cm_cp cp)

◆ m0_sns_cm_repair_cp_send()

M0_INTERNAL int m0_sns_cm_repair_cp_send ( struct m0_cm_cp cp)

Definition at line 37 of file net.c.

Here is the call graph for this function:

◆ m0_sns_cm_repair_cp_xform()

M0_INTERNAL int m0_sns_cm_repair_cp_xform ( struct m0_cm_cp cp)

Transformation function for sns repair. Performs transformation between the accumulator and the given copy packet. Once all the data/parity copy packets are transformed, the accumulator copy packet is posted for further execution. Thus if there exist multiple accumulator copy packets (i.e. in-case multiple units of an aggregation group are failed and need to be recovered, provided k > 1), then the same set of local data copy packets are transformed into multiple accumulators for a given aggregation group.

Precondition
cp != NULL && m0_fom_phase(&cp->c_fom) == M0_CCP_XFORM
Parameters
cpCopy packet that has to be transformed.

Definition at line 222 of file xform.c.

Here is the call graph for this function:

◆ M0_TL_DECLARE()

M0_TL_DECLARE ( rpcbulk  ,
M0_INTERNAL  ,
struct m0_rpc_bulk_buf   
)

◆ M0_TL_DESCR_DECLARE()

M0_TL_DESCR_DECLARE ( rpcbulk  ,
M0_EXTERN   
)

◆ repair_ag_fc_acc_post()

static int repair_ag_fc_acc_post ( struct m0_sns_cm_repair_ag rag,
struct m0_sns_cm_repair_ag_failure_ctx fc 
)
static

Definition at line 172 of file xform.c.

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

◆ repair_cp_bufvec_split()

M0_INTERNAL int repair_cp_bufvec_split ( struct m0_cm_cp cp)

Splits the merged bufvec into original form, where first bufvec no longer contains the metadata of all the bufvecs in the copy packet.

Definition at line 47 of file xform.c.

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

◆ res_cp_bitmap_merge()

static void res_cp_bitmap_merge ( struct m0_cm_cp dst,
struct m0_cm_cp src 
)
static

Merges the source bitmap to the destination bitmap.

Definition at line 149 of file xform.c.

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

◆ res_cp_enqueue()

static int res_cp_enqueue ( struct m0_cm_cp cp)
static

Definition at line 161 of file xform.c.

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

◆ sag2repairag()

M0_INTERNAL struct m0_sns_cm_repair_ag* sag2repairag ( const struct m0_sns_cm_ag sag)

Definition at line 61 of file ag.c.

Here is the caller graph for this function:

◆ seg_nr_get()

static uint32_t seg_nr_get ( const struct m0_sns_cpx sns_cpx,
uint32_t  ivec_nr 
)
static

Definition at line 348 of file net.c.

Here is the caller graph for this function:

◆ sns_cm_cp_stob_punch_credit()

static void sns_cm_cp_stob_punch_credit ( struct m0_sns_cm_cp sns_cp,
struct m0_be_tx_credit accum 
)
static

Definition at line 128 of file cp.c.

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

◆ snscp_to_snscpx()

static int snscp_to_snscpx ( const struct m0_sns_cm_cp sns_cp,
struct m0_sns_cpx sns_cpx 
)
static

Definition at line 84 of file net.c.

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

◆ snscpx_to_snscp()

static int snscpx_to_snscp ( const struct m0_sns_cpx sns_cpx,
struct m0_sns_cm_cp sns_cp 
)
static

Definition at line 380 of file net.c.

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

Variable Documentation

◆ cp_item_ops

const struct m0_rpc_item_ops cp_item_ops
static
Initial value:
= {
.rio_replied = cp_reply_received,
}
static void cp_reply_received(struct m0_rpc_item *item)
Definition: net.c:157

Definition at line 56 of file net.c.

◆ m0_sns_cm_acc_cp_ops

const struct m0_cm_cp_ops m0_sns_cm_acc_cp_ops
Initial value:
= {
.co_action = {
},
.co_action_nr = M0_CCP_NR,
.co_phase_next = &m0_sns_cm_cp_phase_next,
.co_invariant = &m0_sns_cm_cp_invariant,
.co_home_loc_helper = &cp_home_loc_helper,
.co_complete = &m0_sns_cm_cp_complete,
.co_free = &acc_cp_free,
}
M0_INTERNAL int m0_sns_cm_cp_init(struct m0_cm_cp *cp)
Definition: cp.c:100
M0_INTERNAL int m0_sns_cm_cp_send_wait(struct m0_cm_cp *cp)
Definition: net.c:297
M0_INTERNAL int m0_sns_cm_cp_recv_wait(struct m0_cm_cp *cp)
Definition: net.c:512
M0_INTERNAL void m0_sns_cm_cp_complete(struct m0_cm_cp *cp)
Definition: cp.c:307
M0_INTERNAL int m0_sns_cm_cp_write_pre(struct m0_cm_cp *cp)
Definition: storage.c:330
Definition: cp.h:151
static void acc_cp_free(struct m0_cm_cp *cp)
Definition: acc_cp.c:57
M0_INTERNAL int m0_sns_cm_cp_recv_init(struct m0_cm_cp *cp)
Definition: net.c:432
M0_INTERNAL int m0_sns_cm_cp_write(struct m0_cm_cp *cp)
Definition: storage.c:335
M0_INTERNAL int m0_sns_cm_cp_io_wait(struct m0_cm_cp *cp)
Definition: storage.c:341
M0_INTERNAL int m0_sns_cm_cp_phase_next(struct m0_cm_cp *cp)
Definition: cp.c:261
M0_INTERNAL bool m0_sns_cm_cp_invariant(const struct m0_cm_cp *cp)
Definition: cp.c:62
M0_INTERNAL int m0_sns_cm_cp_read(struct m0_cm_cp *cp)
Definition: storage.c:324
M0_INTERNAL int m0_sns_cm_repair_cp_send(struct m0_cm_cp *cp)
Definition: net.c:37
static int acc_cp_fini(struct m0_cm_cp *cp)
Definition: acc_cp.c:74
M0_INTERNAL int m0_sns_cm_cp_fail(struct m0_cm_cp *cp)
Definition: cp.c:216
M0_INTERNAL int m0_sns_cm_cp_sw_check(struct m0_cm_cp *cp)
Definition: net.c:541
M0_INTERNAL uint64_t cp_home_loc_helper(const struct m0_cm_cp *cp)
Definition: cp.c:80
M0_INTERNAL int m0_sns_cm_repair_cp_xform(struct m0_cm_cp *cp)
Definition: xform.c:222

Definition at line 80 of file acc_cp.c.

◆ m0_sns_cm_rebalance_cp_ops

const struct m0_cm_cp_ops m0_sns_cm_rebalance_cp_ops
Initial value:
= {
.co_action = {
},
.co_action_nr = M0_CCP_NR,
.co_phase_next = &m0_sns_cm_cp_phase_next,
.co_invariant = &m0_sns_cm_cp_invariant,
.co_home_loc_helper = &cp_home_loc_helper,
.co_complete = &m0_sns_cm_cp_complete,
.co_free = &m0_sns_cm_cp_free,
}
M0_INTERNAL void m0_sns_cm_cp_free(struct m0_cm_cp *cp)
Definition: cp.c:338
M0_INTERNAL int m0_sns_cm_cp_init(struct m0_cm_cp *cp)
Definition: cp.c:100
M0_INTERNAL int m0_sns_cm_cp_send_wait(struct m0_cm_cp *cp)
Definition: net.c:297
M0_INTERNAL int m0_sns_cm_cp_recv_wait(struct m0_cm_cp *cp)
Definition: net.c:512
M0_INTERNAL void m0_sns_cm_cp_complete(struct m0_cm_cp *cp)
Definition: cp.c:307
M0_INTERNAL int m0_sns_cm_cp_write_pre(struct m0_cm_cp *cp)
Definition: storage.c:330
Definition: cp.h:151
M0_INTERNAL int m0_sns_cm_cp_recv_init(struct m0_cm_cp *cp)
Definition: net.c:432
M0_INTERNAL int m0_sns_cm_cp_write(struct m0_cm_cp *cp)
Definition: storage.c:335
M0_INTERNAL int m0_sns_cm_cp_io_wait(struct m0_cm_cp *cp)
Definition: storage.c:341
M0_INTERNAL int m0_sns_cm_cp_phase_next(struct m0_cm_cp *cp)
Definition: cp.c:261
M0_INTERNAL bool m0_sns_cm_cp_invariant(const struct m0_cm_cp *cp)
Definition: cp.c:62
M0_INTERNAL int m0_sns_cm_rebalance_cp_xform(struct m0_cm_cp *cp)
Definition: xform.c:50
M0_INTERNAL int m0_sns_cm_cp_read(struct m0_cm_cp *cp)
Definition: storage.c:324
M0_INTERNAL int m0_sns_cm_rebalance_cp_send(struct m0_cm_cp *cp)
Definition: net.c:37
M0_INTERNAL int m0_sns_cm_cp_fail(struct m0_cm_cp *cp)
Definition: cp.c:216
M0_INTERNAL int m0_sns_cm_cp_sw_check(struct m0_cm_cp *cp)
Definition: net.c:541
M0_INTERNAL uint64_t cp_home_loc_helper(const struct m0_cm_cp *cp)
Definition: cp.c:80
M0_INTERNAL int m0_sns_cm_cp_fini(struct m0_cm_cp *cp)
Definition: cp.c:352

Definition at line 446 of file cp.c.

◆ m0_sns_cm_repair_cp_ops

const struct m0_cm_cp_ops m0_sns_cm_repair_cp_ops
Initial value:
= {
.co_action = {
},
.co_action_nr = M0_CCP_NR,
.co_phase_next = &m0_sns_cm_cp_phase_next,
.co_invariant = &m0_sns_cm_cp_invariant,
.co_home_loc_helper = &cp_home_loc_helper,
.co_complete = &m0_sns_cm_cp_complete,
.co_free = &m0_sns_cm_cp_free,
}
M0_INTERNAL void m0_sns_cm_cp_free(struct m0_cm_cp *cp)
Definition: cp.c:338
M0_INTERNAL int m0_sns_cm_cp_init(struct m0_cm_cp *cp)
Definition: cp.c:100
M0_INTERNAL int m0_sns_cm_cp_send_wait(struct m0_cm_cp *cp)
Definition: net.c:297
M0_INTERNAL int m0_sns_cm_cp_recv_wait(struct m0_cm_cp *cp)
Definition: net.c:512
M0_INTERNAL void m0_sns_cm_cp_complete(struct m0_cm_cp *cp)
Definition: cp.c:307
M0_INTERNAL int m0_sns_cm_cp_write_pre(struct m0_cm_cp *cp)
Definition: storage.c:330
Definition: cp.h:151
M0_INTERNAL int m0_sns_cm_cp_recv_init(struct m0_cm_cp *cp)
Definition: net.c:432
M0_INTERNAL int m0_sns_cm_cp_write(struct m0_cm_cp *cp)
Definition: storage.c:335
M0_INTERNAL int m0_sns_cm_cp_io_wait(struct m0_cm_cp *cp)
Definition: storage.c:341
M0_INTERNAL int m0_sns_cm_cp_phase_next(struct m0_cm_cp *cp)
Definition: cp.c:261
M0_INTERNAL bool m0_sns_cm_cp_invariant(const struct m0_cm_cp *cp)
Definition: cp.c:62
M0_INTERNAL int m0_sns_cm_cp_read(struct m0_cm_cp *cp)
Definition: storage.c:324
M0_INTERNAL int m0_sns_cm_repair_cp_send(struct m0_cm_cp *cp)
Definition: net.c:37
M0_INTERNAL int m0_sns_cm_cp_fail(struct m0_cm_cp *cp)
Definition: cp.c:216
M0_INTERNAL int m0_sns_cm_cp_sw_check(struct m0_cm_cp *cp)
Definition: net.c:541
M0_INTERNAL uint64_t cp_home_loc_helper(const struct m0_cm_cp *cp)
Definition: cp.c:80
M0_INTERNAL int m0_sns_cm_repair_cp_xform(struct m0_cm_cp *cp)
Definition: xform.c:222
M0_INTERNAL int m0_sns_cm_cp_fini(struct m0_cm_cp *cp)
Definition: cp.c:352

Definition at line 421 of file cp.c.

◆ m0_sns_rebalance_cpx_fopt

struct m0_fop_type m0_sns_rebalance_cpx_fopt

Definition at line 31 of file rebalance_cp_onwire.c.

◆ m0_sns_rebalance_cpx_reply_fopt

struct m0_fop_type m0_sns_rebalance_cpx_reply_fopt

Definition at line 32 of file rebalance_cp_onwire.c.

◆ m0_sns_repair_cpx_fopt

struct m0_fop_type m0_sns_repair_cpx_fopt

Definition at line 31 of file repair_cp_onwire.c.

◆ m0_sns_repair_cpx_reply_fopt

struct m0_fop_type m0_sns_repair_cpx_reply_fopt

Definition at line 32 of file repair_cp_onwire.c.

◆ next