VOTEQ...GISTER(3)

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

okay so we're deep in the Corosync Cluster Engine Programmer's Manual bestie, and this one is literally called votequorum_qdevice_register. say it with me. it's giving ✨quorum device registration✨ and honestly? iconic.


πŸŽ€ NAME πŸŽ€

votequorum_qdevice_register β€” registers a new quorum device πŸ¦‹


✨ SYNOPSIS ✨

#include <corosync/votequorum.h>

int votequorum_qdevice_register(votequorum_handle_t handle, const char *
name);

πŸ’… DESCRIPTION πŸ’…

so votequorum_qdevice_register is the girl that signs up a brand new quorum device. and what even is a quorum device, you ask? okay so it's an external way of adding votes to a small cluster. like, in effect it's a pseudo node in the cluster that hands out votes based on some external device β€” usually a shared disk partition, or maybe a network router. very main character of it. πŸ‘‘

heads up bestie: this call creates the device but does NOT mark it active. you have to call votequorum_qdevice_poll for the votes to actually be included in the quorum calculation. no poll, no votes. periodt.

name is a string holding an informative name for the quorum device. votequorum literally just stores it and uses it when displaying corosync-quorumtool, so pick something cute. it can be a maximum of 254 characters β€” do not push it past that, bestie. πŸ™ˆ

and listen β€” the number of votes the quorum device contributes is already known to votequorum. it's set in cmap at quorum.device.votes, not by the device itself. so don't come for that setting, it's not yours. 🌸

also lowkey important: it is the responsibility of the quorum device subsystem (which is not provided as part of votequorum, btw) to keep all nodes informed of the quorum device status. that's on them, not on you, not on this function. iykyk. 🧚


⭐ RETURN VALUE ⭐

this call returns the CS_OK value if everything slayed. otherwise? an error comes back. πŸ’€


πŸ”₯ 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 🌈

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_unregister(3), votequorum_qdevice_poll(3), votequorum_qdevice_update(3), votequorum_qdevice_master_wins(3)


okay that's the whole thing, you ate that fr fr πŸ’– this page came from the corosync Man Page, dated 2026-09-04 β€” go forth and register those quorum devices, bestie. πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from