VOTEQ..._WINS(3)

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

okay bestie, sit down, we're doing a votequorum_qdevice_master_wins deep dive from the Corosync Cluster Engine Programmer's Manual and honestly? it's giving main character energy for your quorum device. section 3, library functions, let's GO πŸ¦‹


✨ NAME ✨

votequorum_qdevice_master_wins β€” sets or clears the quorum device master_wins flag πŸŽ€

like. that's it. that's the whole job. but the implications? iconic.


🌸 SYNOPSIS 🌸

#include <corosync/votequorum.h>

int votequorum_qdevice_master_wins(votequorum_handle_t handle const char
name, unsigned int allow);

no cap, that's the exact signature, we do not edit the queen πŸ‘‘


πŸ’… DESCRIPTION πŸ’…

okay so votequorum_qdevice_master_wins informs votequorum whether or not the currently registered qdevice subsystem supports 'master_wins' mode β€” and the default is 0, jsyk.

so what is master_wins mode? it's lowkey unhinged in the best way: it lets the qdevice effectively take over the quorum calculations of votequorum. read that again. the qdevice is running the show now πŸ’€

any node with an active qdevice that also has master_wins set becomes quorate regardless of the node votes of the cluster. yes, fr fr. node votes? don't know her. doesn't matter.

and here's the part that's very much not votequorum's problem: it's left up to the qdevice subsystem itself (not part of votequorum) to communicate across the nodes, or otherwise provide some system of deciding which nodes will be part of the quorate cluster β€” if any. like, eg, they may be the set of nodes that has access to a quorum disk. 🫢 your qdevice, your rules, bestie.

now the args, one by one:

  • name β€” the name of the currently registered quorum device on this node. it must match the existing name known to votequorum. mismatched name = not the vibe.
  • allow β€” 0 (the default) means that master_wins is not active on this node. 1 means that master_wins is active on this node.

that's the whole flag. zero or one. two options. a binary. we love a simple queen 🌈


⭐ RETURN VALUE ⭐

this call returns the CS_OK value if successful. otherwise, an error is returned. (iconic when it works, tragic when it doesn't 😭)


πŸ”₯ 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
ngl if you're seeing CS_ERR_INVALID_PARAM it's probably the name not matching what votequorum already knows. vibe check your arguments first, bestie πŸ™ˆ

🧚 SEE ALSO 🧚

the whole squad, we stan a supportive friend group πŸ’œ


and that's the page, bestie ✨ this was corosync Man Page, dated 2026-09-04, filed under VOTEQ..._WINS(3) β€” go forth and let your qdevice win, periodt πŸ‘‘πŸ’–

πŸ“¦ where this page comes from