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 unavailableCS_ERR_INVALID_PARAMβ Invalid argumentCS_ERR_ACCESSβ Permission deniedCS_ERR_LIBRARYβ The connection failedCS_ERR_INTERRUPTβ System call interrupted by a signalCS_ERR_NOT_SUPPORTEDβ The requested protocol/functionality not supportedCS_ERR_MESSAGE_ERRORβ Incorrect auth message receivedCS_ERR_NO_MEMORYβ Not enough memory to complete the requested task
π SEE ALSO π
votequorum_overview(3)votequorum_initialize(3)votequorum_finalize(3)votequorum_getinfo(3)votequorum_trackstart(3)votequorum_trackstop(3)votequorum_fd_get(3)votequorum_dispatch(3)votequorum_context_set(3)votequorum_context_get(3)votequorum_setexpected(3)votequorum_setvotes(3)votequorum_qdevice_register(3)votequorum_qdevice_unregister(3)votequorum_qdevice_update(3)votequorum_qdevice_master_wins(3)
π«Ά 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
- fedora 43: corosynclib-devel 3.1.10-3.fc43 Β· BSD-3-Clause
- fedora 43: corosynclib-devel 3.1.10-3.fc43 Β· BSD-3-Clause
- fedora 44: corosynclib-devel 3.1.10-6.fc44 Β· BSD-3-Clause
- fedora 44: corosynclib-devel 3.1.10-6.fc44 Β· BSD-3-Clause
- Copyright (c) 2009,2012,2014 Red Hat, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms