BuildRequire newer version of corosynclib (0.97-1) to link against latest

libraries version (soname 4.0.0).
Add lvm2-2_02_48-cluster-cpg-new-api.patch to port clvmd-corosync to new
    corosync cpg API.
This commit is contained in:
Fabio M. Di Nitto 2009-06-11 06:43:43 +00:00
parent aa753f47bb
commit 17c73a7e0a
2 changed files with 92 additions and 2 deletions

View File

@ -0,0 +1,82 @@
Index: daemons/clvmd/clvmd-corosync.c
===================================================================
RCS file: /cvs/lvm2/LVM2/daemons/clvmd/clvmd-corosync.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- a/daemons/clvmd/clvmd-corosync.c 21 Apr 2009 13:11:28 -0000 1.9
+++ b/daemons/clvmd/clvmd-corosync.c 3 Jun 2009 13:42:02 -0000 1.10
@@ -56,16 +56,16 @@
#define LOCKSPACE_NAME "clvmd"
static void cpg_deliver_callback (cpg_handle_t handle,
- struct cpg_name *groupName,
+ const struct cpg_name *groupName,
uint32_t nodeid,
uint32_t pid,
void *msg,
- int msg_len);
+ size_t msg_len);
static void cpg_confchg_callback(cpg_handle_t handle,
- struct cpg_name *groupName,
- struct cpg_address *member_list, int member_list_entries,
- struct cpg_address *left_list, int left_list_entries,
- struct cpg_address *joined_list, int joined_list_entries);
+ const struct cpg_name *groupName,
+ const struct cpg_address *member_list, size_t member_list_entries,
+ const struct cpg_address *left_list, size_t left_list_entries,
+ const struct cpg_address *joined_list, size_t joined_list_entries);
static void _cluster_closedown(void);
/* Hash list of nodes in the cluster */
@@ -206,17 +206,17 @@
}
static void cpg_deliver_callback (cpg_handle_t handle,
- struct cpg_name *groupName,
+ const struct cpg_name *groupName,
uint32_t nodeid,
uint32_t pid,
void *msg,
- int msg_len)
+ size_t msg_len)
{
int target_nodeid;
memcpy(&target_nodeid, msg, COROSYNC_CSID_LEN);
- DEBUGLOG("%u got message from nodeid %d for %d. len %d\n",
+ DEBUGLOG("%u got message from nodeid %d for %d. len %zd\n",
our_nodeid, nodeid, target_nodeid, msg_len-4);
if (nodeid != our_nodeid)
@@ -226,15 +226,15 @@
}
static void cpg_confchg_callback(cpg_handle_t handle,
- struct cpg_name *groupName,
- struct cpg_address *member_list, int member_list_entries,
- struct cpg_address *left_list, int left_list_entries,
- struct cpg_address *joined_list, int joined_list_entries)
+ const struct cpg_name *groupName,
+ const struct cpg_address *member_list, size_t member_list_entries,
+ const struct cpg_address *left_list, size_t left_list_entries,
+ const struct cpg_address *joined_list, size_t joined_list_entries)
{
int i;
struct node_info *ninfo;
- DEBUGLOG("confchg callback. %d joined, %d left, %d members\n",
+ DEBUGLOG("confchg callback. %zd joined, %zd left, %zd members\n",
joined_list_entries, left_list_entries, member_list_entries);
for (i=0; i<joined_list_entries; i++) {
@@ -580,7 +580,7 @@
{
confdb_handle_t handle;
int result;
- int namelen = buflen;
+ size_t namelen = buflen;
hdb_handle_t cluster_handle;
confdb_callbacks_t callbacks = {
.confdb_key_change_notify_fn = NULL,

View File

@ -1,5 +1,5 @@
%define device_mapper_version 1.02.32
%define corosync_version 0.95-2
%define corosync_version 0.97-1
%define clusterlib_version 3.0.0-12.alpha6
# Do not reset Release to 1 unless both lvm2 and device-mapper
@ -8,7 +8,7 @@
Summary: Userland logical volume management tools
Name: lvm2
Version: 2.02.47
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2
Group: System Environment/Base
URL: http://sources.redhat.com/lvm2
@ -16,6 +16,7 @@ Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
# Customise lvmconf.sh for built-in clustered locking in Fedora
Patch0: cluster-locking-built-in.patch
Patch1: lvm2-2_02_48-cluster-cpg-new-api.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libselinux-devel >= 1.30.19-4, libsepol-devel
@ -41,6 +42,7 @@ or more physical volumes and creating one or more logical volumes
%prep
%setup -q -n LVM2.%{version}
%patch0 -p1 -b .locking
%patch1 -p1 -b .cpg
%build
%define _exec_prefix /
@ -266,6 +268,12 @@ This package contains the device-mapper shared library, libdevmapper.
%changelog
* Wed Jun 10 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 2.02.47-2
- BuildRequire newer version of corosynclib (0.97-1) to link against
latest libraries version (soname 4.0.0).
- Add lvm2-2_02_48-cluster-cpg-new-api.patch to port clvmd-corosync
to new corosync cpg API.
* Fri May 22 2009 Alasdair Kergon <agk@redhat.com> - 2.02.47-1
- Inherit readahead setting from underlying devices during activation.
- Detect LVs active on remote nodes by querying locks if supported.