]> sourceware.org Git - lvm2.git/commit
cmirror: fix endian issues on s390
authorLiuhua Wang <lwang@suse.com>
Sat, 13 Sep 2014 07:08:28 +0000 (02:08 -0500)
committerJonathan Brassow <jbrassow@redhat.com>
Mon, 15 Sep 2014 21:08:35 +0000 (16:08 -0500)
commit829e5a40373a2ef1721dc9210350c86c4b9d70f7
tree3e8670dfd3141eb619b362e931cdf9ab4177b496
parente9216eedfe8189947c506041d8fc9e879fac6d58
cmirror: fix endian issues on s390

Cmirrord has endian bugs, which cause failure to lvcreate a mirrored lv
on s390.
- data_size is uint32, should not use xlate64 to convert, which will
  cause data_size 0 after xlate.
- request_type and data_size still used by local(v5_data_switch),
  should convert later.  If request_type xlate too early, it will
  cause request_type judge error; if data_size xlate too early, it
  will cause coredump in case DM_ULOG_CLEAR_REGION.
- when receiving package in clog_request_from_network. vp[0] will always
  be little endian.  We could use xlate64(vp[0]) == vp[0] to decide if
  the local node is little endian or not.

Signed-off-by: Lidong Zhong<lzhong@suse.com> & Liuhua Wang <lwang@suse.com>
Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
daemons/cmirrord/compat.c
This page took 0.033855 seconds and 5 git commands to generate.