Motr  M0
cm.h File Reference
#include "net/buffer_pool.h"
#include "pool/pool.h"
#include "cm/cm.h"
#include "sns/cm/iter.h"
#include "sns/cm/ag.h"
#include "rm/rm.h"
#include "file/file.h"
#include "lib/hash.h"
#include "cm/repreb/cm.h"
#include "ha/msg.h"
Include dependency graph for cm.h:

Go to the source code of this file.

Data Structures

struct  m0_sns_cm_buf_pool
 
struct  m0_sns_cm_helpers
 
struct  m0_sns_cm_rm_ctx
 
struct  m0_sns_cm
 

Macros

#define __MOTR_SNS_CM_H__
 

Enumerations

enum  m0_sns_cm_op {
  SNS_INVALID = 0, SNS_REPAIR = 1 << 1, SNS_REBALANCE = 1 << 2, SNS_REPAIR_QUIESCE = 1 << 3,
  SNS_REBALANCE_QUIESCE = 1 << 4, SNS_REPAIR_STATUS = 1 << 5, SNS_REBALANCE_STATUS = 1 << 6, SNS_REPAIR_ABORT = 1 << 7,
  SNS_REBALANCE_ABORT = 1 << 8
}
 
enum  m0_sns_cm_status {
  SNS_CM_STATUS_INVALID = 0, SNS_CM_STATUS_IDLE = 1, SNS_CM_STATUS_STARTED = 2, SNS_CM_STATUS_FAILED = 3,
  SNS_CM_STATUS_PAUSED = 4, SNS_CM_STATUS_NR
}
 
enum  m0_sns_cm_local_unit_type { M0_SNS_CM_UNIT_LOCAL, M0_SNS_CM_UNIT_HOLE_EOF, M0_SNS_CM_UNIT_INVALID }
 

Functions

M0_INTERNAL int m0_sns_cm_type_register (void)
 
M0_INTERNAL void m0_sns_cm_type_deregister (void)
 
M0_INTERNAL size_t m0_sns_cm_buffer_pool_provision (struct m0_net_buffer_pool *bp, size_t bufs_nr)
 
M0_INTERNAL void m0_sns_cm_buffer_pools_prune (struct m0_cm *cm)
 
M0_INTERNAL struct m0_net_bufferm0_sns_cm_buffer_get (struct m0_net_buffer_pool *bp, size_t colour)
 
M0_INTERNAL void m0_sns_cm_buffer_put (struct m0_net_buffer_pool *bp, struct m0_net_buffer *buf, uint64_t colour)
 
M0_INTERNAL int m0_sns_cm_buf_attach (struct m0_net_buffer_pool *bp, struct m0_cm_cp *cp)
 
M0_INTERNAL void m0_sns_cm_buf_wait (struct m0_sns_cm_buf_pool *sbp, struct m0_fom *fom)
 
M0_INTERNAL struct m0_sns_cmcm2sns (struct m0_cm *cm)
 
M0_INTERNAL struct m0_cm_cpm0_sns_cm_cp_alloc (struct m0_cm *cm)
 
M0_INTERNAL int m0_sns_cm_prepare (struct m0_cm *cm)
 
M0_INTERNAL void m0_sns_cm_stop (struct m0_cm *cm)
 
M0_INTERNAL int m0_sns_cm_setup (struct m0_cm *cm)
 
M0_INTERNAL bool m0_sns_is_peer (struct m0_cm *cm, struct m0_reqh_service_ctx *ctx)
 
M0_INTERNAL int m0_sns_cm_fail_dev_log (struct m0_cm *cm, enum m0_pool_nd_state state)
 
M0_INTERNAL int m0_sns_cm_start (struct m0_cm *cm)
 
M0_INTERNAL int m0_sns_cm_ag_next (struct m0_cm *cm, const struct m0_cm_ag_id *id_curr, struct m0_cm_ag_id *id_next)
 
M0_INTERNAL void m0_sns_cm_complete (struct m0_cm *cm)
 
M0_INTERNAL void m0_sns_cm_fini (struct m0_cm *cm)
 
M0_INTERNAL int64_t m0_sns_cm_incoming_reserve_bufs (struct m0_sns_cm *scm, const struct m0_cm_ag_id *id)
 
M0_INTERNAL uint64_t m0_sns_cm_data_seg_nr (struct m0_sns_cm *scm, struct m0_pdclust_layout *pl)
 
M0_INTERNAL uint64_t m0_sns_cm_cp_buf_nr (struct m0_net_buffer_pool *bp, uint64_t data_seg_nr)
 
M0_INTERNAL int m0_sns_cm_has_space_for (struct m0_sns_cm *scm, struct m0_pdclust_layout *pl, uint64_t nr_bufs)
 
M0_INTERNAL void m0_sns_cm_reserve_space (struct m0_sns_cm *scm, size_t nr_bufs)
 
M0_INTERNAL void m0_sns_cm_cancel_reservation (struct m0_sns_cm *scm, size_t nr_bufs)
 
M0_INTERNAL enum sns_repair_state m0_sns_cm_fid_repair_done (struct m0_fid *gfid, struct m0_reqh *reqh, enum m0_pool_nd_state device_state)
 
M0_INTERNAL int m0_sns_cm_rm_init (struct m0_sns_cm *scm)
 
M0_INTERNAL void m0_sns_cm_rm_fini (struct m0_sns_cm *scm)
 
M0_INTERNAL void m0_sns_cm_repair_trigger_fop_init (void)
 
M0_INTERNAL void m0_sns_cm_repair_trigger_fop_fini (void)
 
M0_INTERNAL void m0_sns_cm_rebalance_trigger_fop_init (void)
 
M0_INTERNAL void m0_sns_cm_rebalance_trigger_fop_fini (void)
 
M0_INTERNAL void m0_sns_cm_repair_sw_onwire_fop_init (void)
 
M0_INTERNAL void m0_sns_cm_repair_sw_onwire_fop_fini (void)
 
M0_INTERNAL void m0_sns_cm_rebalance_sw_onwire_fop_init (void)
 
M0_INTERNAL void m0_sns_cm_rebalance_sw_onwire_fop_fini (void)
 
M0_INTERNAL void m0_sns_cm_print_status (struct m0_sns_cm *scm)
 
M0_INTERNAL void m0_sns_cm_ha_msg (struct m0_cm *cm, struct m0_ha_msg *msg, int rc)
 

Macro Definition Documentation

◆ __MOTR_SNS_CM_H__

#define __MOTR_SNS_CM_H__

Definition at line 26 of file cm.h.