mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
4b47f9b82c
When building with gcc-5 (particularly gcc-5.3.0 now) and having pdwtags installed (package dwarves) make check fails with the following error: $ make lock_protocol-struct GEN lock_protocol-struct --- lock_protocol-structs 2016-01-13 15:04:59.318809607 +0100 +++ lock_protocol-struct-t3 2016-01-13 15:05:17.703501234 +0100 @@ -26,10 +26,6 @@ virLockSpaceProtocolNonNullString name; u_int flags; }; -enum virLockSpaceProtocolAcquireResourceFlags { - VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_SHARED = 1, - VIR_LOCK_SPACE_PROTOCOL_ACQUIRE_RESOURCE_AUTOCREATE = 2, -}; struct virLockSpaceProtocolAcquireResourceArgs { virLockSpaceProtocolNonNullString path; virLockSpaceProtocolNonNullString name; Makefile:10415: recipe for target 'lock_protocol-struct' failed make: *** [lock_protocol-struct] Error 1 That happens because without any specific options gcc doesn't keep enum information in the resulting binary object. I managed to isolate the parameters of gcc that caused this issue to disappear, however I remember that they influenced the resulting binaries quite a bit and were definitely not something we would want to add as mandatory to the build process. So to deal with this cleanly, let's take that enum and separate it out to its own header file. Since it is only used in the lockd driver and the protocol, lock_driver_lockd.h feels like a suitable name. Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
52 lines
1.9 KiB
C
52 lines
1.9 KiB
C
/* -*- c -*- */
|
|
struct virLockSpaceProtocolOwner {
|
|
virLockSpaceProtocolUUID uuid;
|
|
virLockSpaceProtocolNonNullString name;
|
|
u_int id;
|
|
u_int pid;
|
|
};
|
|
struct virLockSpaceProtocolRegisterArgs {
|
|
virLockSpaceProtocolOwner owner;
|
|
u_int flags;
|
|
};
|
|
struct virLockSpaceProtocolRestrictArgs {
|
|
u_int flags;
|
|
};
|
|
struct virLockSpaceProtocolNewArgs {
|
|
virLockSpaceProtocolNonNullString path;
|
|
u_int flags;
|
|
};
|
|
struct virLockSpaceProtocolCreateResourceArgs {
|
|
virLockSpaceProtocolNonNullString path;
|
|
virLockSpaceProtocolNonNullString name;
|
|
u_int flags;
|
|
};
|
|
struct virLockSpaceProtocolDeleteResourceArgs {
|
|
virLockSpaceProtocolNonNullString path;
|
|
virLockSpaceProtocolNonNullString name;
|
|
u_int flags;
|
|
};
|
|
struct virLockSpaceProtocolAcquireResourceArgs {
|
|
virLockSpaceProtocolNonNullString path;
|
|
virLockSpaceProtocolNonNullString name;
|
|
u_int flags;
|
|
};
|
|
struct virLockSpaceProtocolReleaseResourceArgs {
|
|
virLockSpaceProtocolNonNullString path;
|
|
virLockSpaceProtocolNonNullString name;
|
|
u_int flags;
|
|
};
|
|
struct virLockSpaceProtocolCreateLockSpaceArgs {
|
|
virLockSpaceProtocolNonNullString path;
|
|
};
|
|
enum virLockSpaceProtocolProcedure {
|
|
VIR_LOCK_SPACE_PROTOCOL_PROC_REGISTER = 1,
|
|
VIR_LOCK_SPACE_PROTOCOL_PROC_RESTRICT = 2,
|
|
VIR_LOCK_SPACE_PROTOCOL_PROC_NEW = 3,
|
|
VIR_LOCK_SPACE_PROTOCOL_PROC_CREATE_RESOURCE = 4,
|
|
VIR_LOCK_SPACE_PROTOCOL_PROC_DELETE_RESOURCE = 5,
|
|
VIR_LOCK_SPACE_PROTOCOL_PROC_ACQUIRE_RESOURCE = 6,
|
|
VIR_LOCK_SPACE_PROTOCOL_PROC_RELEASE_RESOURCE = 7,
|
|
VIR_LOCK_SPACE_PROTOCOL_PROC_CREATE_LOCKSPACE = 8,
|
|
};
|