Group Services Programming Guide and Reference
For dealing with adapter death versus deconfiguration, the ha_gs_special_block_t, if included, will contain an array of
ha_gs_adapter_death_t entries, each containing flags with the death
status of that adapter. The ordering of the array entries will match
that in the gs_changing_membership field.
- If all adapters listed in the notification suffered a normal failure
(that is, each adapter is still part of the configuration but is no longer
operational):
-
There will be no change from the current subscription notifications, and
HA_GS_SUBSCRIPTION_SPECIAL_DATA will not be set into the
gs_subscription_type field in the subscription notification.
- The client should simply assume that all reported adapter deaths were
natural; none failed due to being removed from the configuration.
- The gs_subscription_special_data field will be NULL.
- If one or more adapters listed in the notification failed due to being
removed from the configuration:
-
- HA_GS_SUBSCRIPTION_SPECIAL_DATA will be OR'ed into the
gs_subscription_type field in the subscription notification.
- The gs_subscription_special_data field in the subscription
notification will point to an ha_gs_special_data block.
- The gs_special_block_count field will contain the count of ha_gs_special_block_t elements.
- The gs_special_block_flags field will contain
HA_GS_ADAPTER_DEATH_ARRAY.
- The gs_subscription_special_block field will point to the ha_gs_special_block_t.
- The ha_gs_special_block_t fields will contain the following values:
- gs_special_flag field
-
Will contain HA_GS_ADAPTER_DEATH_ARRAY.
- gs_special_num_entries field
-
Will contain the same number of entries as the number of adapters that were
listed in the gs_changing_membership field.
- gs_special_length field
-
Will contain the number 4, to indicate that each entry is four bytes
long.
- gs_special field
-
Will point to an array of four-byte entries, listed in the order matching
the order of adapters in the gs_changing_membership field.
Each entry will contain one of the following flags:
typedef enum
{
HA_GS_ADAPTER_DEAD = 0x0001,
HA_GS_ADAPTER_REMOVED = 0x0002
} ha_gs_adapter_death_t;
- If an adapter died of natural causes, the flag will be
HA_GS_ADAPTER_DEAD.
- If an adapter was removed from the configuration, the flag will be
HA_GS_ADAPTER_REMOVED.
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]