25 #ifndef __MOTR___HA_NOTE_H__ 26 #define __MOTR___HA_NOTE_H__ 98 #include "fid/fid_xc.h" 102 #include "lib/buf_xc.h" 268 #define M0_NVEC_PRINT(nvec_, label, level) ({ \ 270 struct m0_ha_nvec *nvec = nvec_; \ 272 for (i = 0; i < nvec->nv_nr; i++) { \ 273 M0_LOG(level, "%s [%d] " FID_F ", (%d)", lbl, i, \ 274 FID_P(&nvec->nv_note[i].no_id), \ 275 nvec->nv_note[i].no_state); \ 376 bool ignore_same_state);
387 bool ignore_same_state,
M0_INTERNAL int m0_ha_state_get(struct m0_ha_nvec *note, struct m0_chan *chan)
M0_INTERNAL uint64_t m0_ha_msg_nvec_send(const struct m0_ha_nvec *nvec, uint64_t id_of_get, bool ignore_same_state, int direction, struct m0_ha_link *hl)
M0_INTERNAL void m0_conf_ha_callback(struct m0_conf_obj *obj)
struct m0_ha_msg_nvec_array hmnv_arr
struct m0_ha_dispatcher * hnh_dispatcher
struct m0_ha_handler hnh_handler
M0_INTERNAL void m0_ha_note_handler_fini(struct m0_ha_note_handler *hnh)
struct m0_ha_note hmna_arr[M0_HA_STATE_UPDATE_LIMIT]
M0_INTERNAL void m0_ha_state_set(const struct m0_ha_nvec *note)
M0_INTERNAL int m0_ha_note_handler_init(struct m0_ha_note_handler *hnh, struct m0_ha_dispatcher *hd)
M0_INTERNAL uint64_t m0_ha_note_handler_add(struct m0_ha_note_handler *hnh, struct m0_ha_nvec *nvec_req, struct m0_chan *chan)
m0_ha_state_update_defaults
uint64_t hmnv_ignore_same_state
struct m0_ha_nvec hss_nvec
static struct m0_chan chan[RDWR_REQUEST_MAX]
struct m0_ha_state_single M0_XCA_DOMAIN
struct m0_ha_note hss_note
M0_INTERNAL void m0_ha_note_handler_signal(struct m0_ha_note_handler *hnh, struct m0_ha_nvec *nvec_rep, uint64_t id)
M0_INTERNAL const char * m0_ha_state2str(enum m0_ha_obj_state state)
struct m0_ha_note * nv_note
M0_INTERNAL void m0_ha_state_accept(const struct m0_ha_nvec *note, bool ignore_same_state)
struct inlinearray M0_XCA_ARRAY
M0_INTERNAL void m0_ha_state_single_post(struct m0_ha_nvec *nvec)
M0_INTERNAL void m0_ha_msg_accept(const struct m0_ha_msg *msg, struct m0_ha_link *hl)
M0_INTERNAL void m0_ha_local_state_set(const struct m0_ha_nvec *nvec)