lvm2/cmirrord-fix-s390-endian-issue.patch

40 lines
1.2 KiB
Diff

Index: LVM2.2.02.98/daemons/cmirrord/compat.c
===================================================================
--- LVM2.2.02.98.orig/daemons/cmirrord/compat.c
+++ LVM2.2.02.98/daemons/cmirrord/compat.c
@@ -126,13 +126,13 @@ static int v5_endian_to_network(struct c
u_rq->error = xlate32(u_rq->error);
u_rq->seq = xlate32(u_rq->seq);
- u_rq->request_type = xlate32(u_rq->request_type);
- u_rq->data_size = xlate64(u_rq->data_size);
-
rq->originator = xlate32(rq->originator);
v5_data_endian_switch(rq, 1);
+ u_rq->request_type = xlate32(u_rq->request_type);
+ u_rq->data_size = xlate32(u_rq->data_size);
+
return size;
}
@@ -167,7 +167,7 @@ static int v5_endian_from_network(struct
u_rq->error = xlate32(u_rq->error);
u_rq->seq = xlate32(u_rq->seq);
u_rq->request_type = xlate32(u_rq->request_type);
- u_rq->data_size = xlate64(u_rq->data_size);
+ u_rq->data_size = xlate32(u_rq->data_size);
rq->originator = xlate32(rq->originator);
@@ -187,7 +187,7 @@ int clog_request_from_network(void *data
switch (version) {
case 5: /* Upstream */
- if (version == unconverted_version)
+ if (version == vp[0])
return 0;
break;
case 4: /* RHEL 5.[45] */