votequorum_qdevice_poll(3) Tells votequorum the result of the quorum device poll

SYNOPSIS

#include <corosync/votequorum.h>

int votequorum_qdevice_poll(votequorum_handle_t handle, const char * name, unsigned int cast_vote, votequorum_ring_id_t ring_id);

DESCRIPTION

The votequorum_qdevice_poll is called by the quorum device subsystem (not provided as part of votequorum) to tell the voting system if the quorum device is present/active or not. If cast_vote is 1 then the votes for the device are included in the quorum calculation, otherwise not. Current ring_id must be set (one get in votequorum_notification_fn callback) otherwise poll is ignored. This routine should be called at regular intervals to ensure that the device status is always known to votequorum. If votequorum_qdevice_poll is not called for (default) 10 seconds (or 30 seconds for sync phase) then the device will be deemed to be dead and its votes removed from the cluster. This does not unregister the device. The default poll time can be changed by setting the cmap variable quorum.device.timeout for normal operation or quorum.device.sync_timeout for synchronization phase.

RETURN VALUE

This call returns the CS_OK value if successful, otherwise an error is returned.

ERRORS

CS_ERR_TRY_AGAIN Resource temporarily unavailable

CS_ERR_INVALID_PARAM Invalid argument

CS_ERR_ACCESS Permission denied

CS_ERR_LIBRARY The connection failed

CS_ERR_INTERRUPT System call inturrupted by a signal

CS_ERR_NOT_SUPPORTED The requested protocol/functuality not supported

CS_ERR_MESSAGE_ERROR Incorrect auth message received

CS_ERR_NO_MEMORY Not enough memory to completed the requested task