Motr
M0
|
#include <cm.h>
Data Fields | |
struct m0_sm | cm_mach |
uint64_t | cm_id |
m0_time_t | cm_epoch |
struct m0_sm_group | cm_sm_group |
const struct m0_cm_ops * | cm_ops |
struct m0_reqh_service | cm_service |
const struct m0_cm_type * | cm_type |
struct m0_tl | cm_aggr_grps_in |
uint64_t | cm_aggr_grps_in_nr |
struct m0_cm_ag_id | cm_sw_last_updated_hi |
struct m0_cm_ag_id | cm_last_out_hi |
struct m0_cm_ag_id | cm_last_processed_out |
struct m0_tl | cm_aggr_grps_out |
uint64_t | cm_aggr_grps_out_nr |
struct m0_chan | cm_wait |
struct m0_mutex | cm_wait_mutex |
struct m0_chan | cm_complete |
struct m0_chan | cm_proxy_init_wait |
struct m0_tl | cm_proxies |
struct m0_tl | cm_failed_proxies |
uint64_t | cm_proxy_nr |
struct m0_bitmap | cm_proxy_update_map |
uint64_t | cm_nr_proxy_updated |
uint64_t | cm_proxy_active_nr |
struct m0_cm_cp_pump | cm_cp_pump |
struct m0_cm_sw_update | cm_sw_update |
struct m0_cm_ag_store | cm_ag_store |
struct m0_cm_ast_run | cm_asts_run |
bool | cm_done |
bool | cm_reset |
bool | cm_quiesce |
bool | cm_abort |
struct m0_cm_ag_store cm_ag_store |
struct m0_tl cm_aggr_grps_in |
List of aggregation groups having incoming copy packets for this copy machine replica. Copy machine provides various interfaces over this list to implement sliding window.
struct m0_tl cm_aggr_grps_out |
List of aggregation groups having outgoing copy packets from this copy machine replica.
struct m0_cm_ast_run cm_asts_run |
struct m0_cm_cp_pump cm_cp_pump |
m0_time_t cm_epoch |
uint64_t cm_id |
struct m0_cm_ag_id cm_last_out_hi |
struct m0_cm_ag_id cm_last_processed_out |
struct m0_tl cm_proxies |
List of m0_cm_proxy objects representing remote replicas.
bool cm_quiesce |
bool cm_reset |
struct m0_reqh_service cm_service |
struct m0_sm_group cm_sm_group |
struct m0_cm_ag_id cm_sw_last_updated_hi |
Saved aggregation group identifier for the last processed aggregation group with the highest identifier in the sliding window. This is mainly referred while advancing the sliding window. This also resolves the issue, where an aggregation group with the highest identifier in the sliding window was just finalised and sliding window could not advance before that due to unavailability of buffers. Thus in this case, there's a possibility of allocating an aggregation group with the previously processed group identifier during the later sliding window updates. Thus saving the highest processed aggregation group identifier from the sliding window avoids this situation.
struct m0_cm_sw_update cm_sw_update |
const struct m0_cm_type* cm_type |