VOTEQ...E_POLL(3)

πŸ’– VOTEQ...E_POLL(3) πŸ’–

okay bestie, welcome to the Corosync Cluster Engine Programmer's Manual ✨ this is the page for votequorum_qdevice_poll, and yes it's a long name, we love her anyway 🫢


🌸 NAME 🌸

votequorum_qdevice_poll β€” she 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 πŸ¦‹

so like, votequorum_qdevice_poll gets called by the quorum device subsystem β€” and just so we're clear, that subsystem is not provided as part of votequorum, she's her own thing 😌 β€” and its whole job is to tell the voting system whether the quorum device is present/active or not. vibe check on the device, basically.

if cast_vote is 1, then the votes for the device get included in the quorum calculation. otherwise? not included. that's it, that's the rule πŸ™ˆ

the current ring_id must be set (you get one in the votequorum_notification_fn callback, no cap) β€” otherwise the poll is just straight up ignored. πŸ’€

this routine should be called at regular intervals so that votequorum always knows what's up with the device status. and listen, if votequorum_qdevice_poll isn't called for (default) 10 seconds (or 30 seconds for the sync phase) then the device will be deemed to be dead and its votes removed from the cluster 😭. this does not unregister the device though, she stays registered, she's just not voting anymore.

you can change the default poll time by setting the cmap variable quorum.device.timeout for normal operation, or quorum.device.sync_timeout for the synchronization phase. slay πŸŽ€


πŸ‘‘ RETURN VALUE πŸ‘‘

this call returns the CS_OK value if successful β€” iconic, we love a success. 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 interrupted by a signal
  • CS_ERR_NOT_SUPPORTED β€” The requested protocol/functionality not supported
  • CS_ERR_MESSAGE_ERROR β€” Incorrect auth message received
  • CS_ERR_NO_MEMORY β€” Not enough memory to complete the requested task

🌈 SEE ALSO 🌈


🫢 that's the whole page bestie, go poll your quorum device responsibly, mwah πŸ’‹

corosync Man Page Β· 2026-09-04 Β· VOTEQ...E_POLL(3) β€” ok that's the source, the version and the date, signing off, ily, bye πŸ‘‘βœ¨

πŸ“¦ where this page comes from