From mboxrd@z Thu Jan 1 00:00:00 1970 From: teigland@sourceware.org Date: 21 Jan 2008 20:19:09 -0000 Subject: [Cluster-devel] cluster/group/gfs_controld plock.c Message-ID: <20080121201909.22239.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: cluster Branch: RHEL51 Changes by: teigland at sourceware.org 2008-01-21 20:19:08 Modified files: group/gfs_controld: plock.c Log message: bz 429546 Fix an alignment problem with ppc64. Things work if we do the byte-swapping on the original structure and then copy it into the final buffer, instead of copying first and then trying to do the byte-swapping at an offset within the send buffer. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/gfs_controld/plock.c.diff?cvsroot=cluster&only_with_tag=RHEL51&r1=1.25.2.6&r2=1.25.2.6.2.1 --- cluster/group/gfs_controld/plock.c 2007/06/08 21:31:56 1.25.2.6 +++ cluster/group/gfs_controld/plock.c 2008/01/21 20:19:08 1.25.2.6.2.1 @@ -399,15 +399,14 @@ info.nodeid = our_nodeid; + info_bswap_out(&info); + hd = (struct gdlm_header *)buf; hd->type = MSG_PLOCK; hd->nodeid = our_nodeid; hd->to_nodeid = 0; memcpy(buf + sizeof(struct gdlm_header), &info, sizeof(info)); - info_bswap_out((struct gdlm_plock_info *) buf + - sizeof(struct gdlm_header)); - rv = send_group_message(mg, len, buf); free(buf);