Motr
M0
|
#include <note.h>
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 |
struct m0_ha_msg_nvec_array hmnv_arr |
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.
uint64_t hmnv_type |