mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
231b7df6cc
This makes lvmlockd removal steps for dlm VGs closely match sanlock VGs. Because dlm lockspaces are not required to be stopped on all hosts before vgremove, there is an extra bit for dlm lockspaces, where a flag is set in the VG lock lvb indicating that the VG was removed. If other hosts happen to use the VG lock they will see this flag and stop their lockspace.
53 lines
1.3 KiB
C
53 lines
1.3 KiB
C
/*
|
|
* Copyright (C) 2014-2015 Red Hat, Inc.
|
|
*
|
|
* This file is part of LVM2.
|
|
*
|
|
* This copyrighted material is made available to anyone wishing to use,
|
|
* modify, copy, or redistribute it subject to the terms and conditions
|
|
* of the GNU Lesser General Public License v.2.1.
|
|
*/
|
|
|
|
#ifndef _LVM_LVMLOCKD_CLIENT_H
|
|
#define _LVM_LVMLOCKD_CLIENT_H
|
|
|
|
#include "daemon-client.h"
|
|
|
|
#define LVMLOCKD_SOCKET DEFAULT_RUN_DIR "/lvmlockd.socket"
|
|
|
|
/* Wrappers to open/close connection */
|
|
|
|
static inline daemon_handle lvmlockd_open(const char *sock)
|
|
{
|
|
daemon_info lvmlockd_info = {
|
|
.path = "lvmlockd",
|
|
.socket = sock ?: LVMLOCKD_SOCKET,
|
|
.protocol = "lvmlockd",
|
|
.protocol_version = 1,
|
|
.autostart = 0
|
|
};
|
|
|
|
return daemon_open(lvmlockd_info);
|
|
}
|
|
|
|
static inline void lvmlockd_close(daemon_handle h)
|
|
{
|
|
return daemon_close(h);
|
|
}
|
|
|
|
/*
|
|
* Errors returned as the lvmlockd result value.
|
|
*/
|
|
#define ENOLS 210 /* lockspace not found */
|
|
#define ESTARTING 211 /* lockspace is starting */
|
|
#define EARGS 212
|
|
#define EHOSTID 213
|
|
#define EMANAGER 214
|
|
#define EPREPARE 215
|
|
#define ELOCKD 216
|
|
#define EVGKILLED 217 /* sanlock lost access to leases and VG is killed. */
|
|
#define ELOCKIO 218 /* sanlock io errors during lock op, may be transient. */
|
|
#define EREMOVED 219
|
|
|
|
#endif /* _LVM_LVMLOCKD_CLIENT_H */
|