---
name: "votequorum_qdevice_register"
section: "3"
platform: "linux"
package: "libvotequorum-dev"
version: "3.1.9-2+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/votequorum_qdevice_register"
---

# votequorum\_qdevice\_register(3)

Registers a new quorum device

## 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

The **votequorum\_qdevice\_register** is used to register a new quorum device. A quorum device is an external way of adding votes to a small cluster. The quorum device is, in effect, a pseudo node in the cluster that provide votes based on some external device, usually a shared disk partition or perhaps a network router.\
 This call creates the device but does not mark it active. **votequorum\_qdevice\_poll** must be called for the votes to be included in the quorum calculation.\
 **name** is string containing an informative name for the quorum device. It is simply stored by votequorum and used in the display of corosync-quorumtool, it can be a maximum of 254 characters.\
 The number of votes contributed by the quorum device is already known to votequorum, it is set in cmap quorum.device.votes and not by the device.\
 Note that it is the responsibility of the quorum device subsystem (not provided as part of votequorum) to keep all nodes informed of the quorum device status.

## 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 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_overview/3.md), [**votequorum\_initialize**(3)](/votequorum_initialize/3.md), [**votequorum\_finalize**(3)](/votequorum_finalize/3.md), [**votequorum\_getinfo**(3)](/votequorum_getinfo/3.md), [**votequorum\_trackstart**(3)](/votequorum_trackstart/3.md), [**votequorum\_trackstop**(3)](/votequorum_trackstop/3.md), [**votequorum\_fd\_get**(3)](/votequorum_fd_get/3.md), [**votequorum\_dispatch**(3)](/votequorum_dispatch/3.md), [**votequorum\_context\_set**(3)](/votequorum_context_set/3.md), [**votequorum\_context\_get**(3)](/votequorum_context_get/3.md), [**votequorum\_setexpected**(3)](/votequorum_setexpected/3.md), [**votequorum\_setvotes**(3)](/votequorum_setvotes/3.md), [**votequorum\_qdevice\_unregister**(3)](/votequorum_qdevice_unregister/3.md), [**votequorum\_qdevice\_poll**(3)](/votequorum_qdevice_poll/3.md), [**votequorum\_qdevice\_update**(3)](/votequorum_qdevice_update/3.md), [**votequorum\_qdevice\_master\_wins**(3)](/votequorum_qdevice_master_wins/3.md)
