All of lore.kernel.org
 help / color / mirror / Atom feed
* [hail patch 2/3] fix 32/64 wire interoperability
@ 2010-08-04 23:16 Pete Zaitcev
  2010-08-05 21:25 ` Jeff Garzik
  0 siblings, 1 reply; 3+ messages in thread
From: Pete Zaitcev @ 2010-08-04 23:16 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Project Hail List

Testing found that tabled and chunkd running on CPUs with different
word length cannot talk to each other.

The bug was introduced by commit ea5d20bc22aeed077312c9c1824e84651af17a16.

The fix is to add named padding that takes the place of the invisible
padding, thus making the layout platform-neutral.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>

---
 include/chunk_msg.h |    1 +
 1 file changed, 1 insertion(+)

diff --git a/include/chunk_msg.h b/include/chunk_msg.h
index a34fc21..4c170e4 100644
--- a/include/chunk_msg.h
+++ b/include/chunk_msg.h
@@ -91,6 +91,7 @@ struct chunksrv_resp {
 	uint32_t		nonce;	/* txn id, copied from request */
 	uint64_t		data_len;		/* len of addn'l data */
 	unsigned char		hash[CHD_CSUM_SZ];	/* SHA1 checksum */
+	unsigned char		rsv2[4];		/* pad for 64 bits */
 };
 
 struct chunksrv_resp_get {

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [hail patch 2/3] fix 32/64 wire interoperability
  2010-08-04 23:16 [hail patch 2/3] fix 32/64 wire interoperability Pete Zaitcev
@ 2010-08-05 21:25 ` Jeff Garzik
  2010-08-05 23:19   ` Pete Zaitcev
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Garzik @ 2010-08-05 21:25 UTC (permalink / raw)
  To: Pete Zaitcev; +Cc: Project Hail List

On 08/04/2010 07:16 PM, Pete Zaitcev wrote:
> Testing found that tabled and chunkd running on CPUs with different
> word length cannot talk to each other.
>
> The bug was introduced by commit ea5d20bc22aeed077312c9c1824e84651af17a16.
>
> The fix is to add named padding that takes the place of the invisible
> padding, thus making the layout platform-neutral.
>
> Signed-off-by: Pete Zaitcev<zaitcev@redhat.com>
>
> ---
>   include/chunk_msg.h |    1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/include/chunk_msg.h b/include/chunk_msg.h
> index a34fc21..4c170e4 100644
> --- a/include/chunk_msg.h
> +++ b/include/chunk_msg.h
> @@ -91,6 +91,7 @@ struct chunksrv_resp {
>   	uint32_t		nonce;	/* txn id, copied from request */
>   	uint64_t		data_len;		/* len of addn'l data */
>   	unsigned char		hash[CHD_CSUM_SZ];	/* SHA1 checksum */
> +	unsigned char		rsv2[4];		/* pad for 64 bits */
>   };

good catch.  applied 1-3, and pushed out.

I wonder if we shouldn't switch to attribute(packed) for safety, though.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [hail patch 2/3] fix 32/64 wire interoperability
  2010-08-05 21:25 ` Jeff Garzik
@ 2010-08-05 23:19   ` Pete Zaitcev
  0 siblings, 0 replies; 3+ messages in thread
From: Pete Zaitcev @ 2010-08-05 23:19 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Project Hail List

On Thu, 05 Aug 2010 17:25:30 -0400
Jeff Garzik <jeff@garzik.org> wrote:

> I wonder if we shouldn't switch to attribute(packed) for safety, though.

I dunno, as long as we test this...  I irrationally hate the
gcc attributes, although probably any viable competitor will have
to support them. Talk about embrace-and-extend. Fine when FSF does
it, not fine when Microsoft does, huh.

-- Pete

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-08-05 23:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-04 23:16 [hail patch 2/3] fix 32/64 wire interoperability Pete Zaitcev
2010-08-05 21:25 ` Jeff Garzik
2010-08-05 23:19   ` Pete Zaitcev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.