Motr  M0
m0_ha_msg_nvec Struct Reference

#include <note.h>

Collaboration diagram for m0_ha_msg_nvec:
Collaboration graph

Data Fields

uint64_t hmnv_type
 
uint64_t hmnv_id_of_get
 
uint64_t hmnv_ignore_same_state
 
uint64_t hmnv_nr
 
struct m0_ha_msg_nvec_array hmnv_arr
 

Detailed Description

Definition at line 224 of file note.h.

Field Documentation

◆ hmnv_arr

struct m0_ha_msg_nvec_array hmnv_arr

Definition at line 265 of file note.h.

◆ hmnv_id_of_get

uint64_t hmnv_id_of_get

Definition at line 227 of file note.h.

◆ hmnv_ignore_same_state

uint64_t hmnv_ignore_same_state

Signal m0_conf_obj::co_ha_chan for changed HA states only?

If .hmnv_ignore_same_state == 0, then m0_conf_obj::co_ha_chan of every conf object in the .hmnv_arr will be signaled. Otherwise, only conf objects with changed HA state will be signaled.

|----------------—|----------------------—|--------------—| | Received HA state | .hmnv_ignore_same_state | Signal object's | | of a conf object | | .co_ha_chan? | | is different from | | | | its stored state | | | | (previously | | |

received)?
the same 0 yes
the same != 0 no
different 0 yes
different != 0 yes
----------------— ----------------------— --------------—

NOTE: Hare monitors a subset (S) of Motr conf objects. Whenever HA state of any of those objects changes, Hare creates an nvec with current HA states of all objects in S and broadcasts this nvec to Motr processes. Upon receiving such nvec, Motr process compares it with previously stored one and signals only those conf objects, HA states of which differ.

In order for this to work, Hare MUST set .hmnv_ignore_same_state flag to 1.

Valid values: 0 or 1.

Definition at line 263 of file note.h.

◆ hmnv_nr

uint64_t hmnv_nr

Definition at line 264 of file note.h.

◆ hmnv_type

uint64_t hmnv_type

M0_HA_NVEC_SET for note_set, M0_HA_NVEC_GET for note_get

Definition at line 226 of file note.h.


The documentation for this struct was generated from the following file: