Motr  M0
cm.h File Reference
#include "lib/tlist.h"
#include "lib/types.h"
#include "reqh/reqh_service.h"
#include "sm/sm.h"
#include "fop/fom.h"
#include "fop/fom_simple.h"
#include "cm/sw.h"
#include "cm/ag.h"
#include "cm/pump.h"
#include "cm/ag_store.h"
#include "ha/msg.h"
Include dependency graph for cm.h:

Go to the source code of this file.

Data Structures

struct  m0_cm_type
 
struct  m0_cm_ast_run
 
struct  m0_cm
 
struct  m0_cm_ops
 

Macros

#define __MOTR_CM_CM_H__
 
#define M0_CM_TYPE_DECLARE(cmtype, id, ops, name, typecode)
 

Enumerations

enum  m0_cm_state {
  M0_CMS_INIT, M0_CMS_IDLE, M0_CMS_PREPARE, M0_CMS_READY,
  M0_CMS_ACTIVE, M0_CMS_FAIL, M0_CMS_STOP, M0_CMS_FINI,
  M0_CMS_NR
}
 
enum  { CM_RPC_TIMEOUT = 20, CM_MAX_NR_RPC_IN_FLIGHT = 100 }
 

Functions

M0_INTERNAL int m0_cm_type_register (struct m0_cm_type *cmtype)
 
M0_INTERNAL void m0_cm_type_deregister (struct m0_cm_type *cmtype)
 
M0_INTERNAL void m0_cm_lock (struct m0_cm *cm)
 
M0_INTERNAL int m0_cm_trylock (struct m0_cm *cm)
 
M0_INTERNAL void m0_cm_unlock (struct m0_cm *cm)
 
M0_INTERNAL bool m0_cm_is_locked (const struct m0_cm *cm)
 
M0_INTERNAL int m0_cm_module_init (void)
 
M0_INTERNAL void m0_cm_module_fini (void)
 
M0_INTERNAL int m0_cm_init (struct m0_cm *cm, struct m0_cm_type *cm_type, const struct m0_cm_ops *cm_ops)
 
M0_INTERNAL void m0_cm_fini (struct m0_cm *cm)
 
M0_INTERNAL int m0_cm_setup (struct m0_cm *cm)
 
M0_INTERNAL int m0_cm_prepare (struct m0_cm *cm)
 
M0_INTERNAL int m0_cm_ready (struct m0_cm *cm)
 
M0_INTERNAL bool m0_cm_is_ready (struct m0_cm *cm)
 
M0_INTERNAL bool m0_cm_is_active (struct m0_cm *cm)
 
M0_INTERNAL int m0_cm_start (struct m0_cm *cm)
 
M0_INTERNAL int m0_cm_stop (struct m0_cm *cm)
 
M0_INTERNAL int m0_cm_configure (struct m0_cm *cm, struct m0_fop *fop)
 
M0_INTERNAL int m0_ha_cm_err_send (struct m0_cm *cm, int rc)
 
M0_INTERNAL void m0_cm_fail (struct m0_cm *cm, int rc)
 
M0_INTERNAL bool m0_cm_invariant (const struct m0_cm *cm)
 
M0_INTERNAL void m0_cm_state_set (struct m0_cm *cm, enum m0_cm_state state)
 
M0_INTERNAL enum m0_cm_state m0_cm_state_get (const struct m0_cm *cm)
 
M0_INTERNAL void m0_cm_continue (struct m0_cm *cm)
 
M0_INTERNAL int m0_cm_data_next (struct m0_cm *cm, struct m0_cm_cp *cp)
 
M0_INTERNAL bool m0_cm_has_more_data (const struct m0_cm *cm)
 
M0_INTERNAL struct m0_net_bufferm0_cm_buffer_get (struct m0_net_buffer_pool *bp, uint64_t colour)
 
M0_INTERNAL void m0_cm_buffer_put (struct m0_net_buffer_pool *bp, struct m0_net_buffer *buf, uint64_t colour)
 
M0_INTERNAL struct m0_cmm0_cmsvc2cm (struct m0_reqh_service *cmsvc)
 
M0_INTERNAL int m0_cm_proxies_fini (struct m0_cm *cm)
 
M0_INTERNAL struct m0_rpc_machinem0_cm_rpc_machine_find (struct m0_reqh *reqh)
 
M0_INTERNAL int m0_cm_ast_run_thread_init (struct m0_cm *cm)
 
M0_INTERNAL void m0_cm_ast_run_thread_fini (struct m0_cm *cm)
 
M0_INTERNAL void m0_cm_notify (struct m0_cm *cm)
 
M0_INTERNAL void m0_cm_wait (struct m0_cm *cm, struct m0_fom *fom)
 
M0_INTERNAL void m0_cm_wait_cancel (struct m0_cm *cm, struct m0_fom *fom)
 
M0_INTERNAL int m0_cm_complete (struct m0_cm *cm)
 
M0_INTERNAL void m0_cm_complete_notify (struct m0_cm *cm)
 
M0_INTERNAL void m0_cm_proxies_init_wait (struct m0_cm *cm, struct m0_fom *fom)
 
M0_INTERNAL void m0_cm_frozen_ag_cleanup (struct m0_cm *cm, struct m0_cm_proxy *proxy)
 
M0_INTERNAL void m0_cm_proxy_failed_cleanup (struct m0_cm *cm)
 
M0_INTERNAL void m0_cm_abort (struct m0_cm *cm, int rc)
 
M0_INTERNAL bool m0_cm_is_dirty (struct m0_cm *cm)
 
M0_INTERNAL bool m0_cm_proxies_updated (struct m0_cm *cm)
 

Macro Definition Documentation

◆ __MOTR_CM_CM_H__

#define __MOTR_CM_CM_H__

Definition at line 26 of file cm.h.