[Pvfs2-developers] [PATCH] 64bit pointer aliasing in dist-twod
Kyle Schochenmaier
kschoche at gmail.com
Fri Jun 20 22:22:18 EDT 2008
The following patch clears up some issues with pointer aliasing on
64bit machines in the twod-dist code. On a 64bit build, you cannot
set the num_groups/group_strip_factor dist params, but in a 32bit
build, the problem is not evident. The patch also fixes a typo I made
in the encode/decode functions. Builds and works on my (64bit) test
systems.
~Kyle
Index: src/io/description/dist-twod-stripe.c
===================================================================
RCS file: /anoncvs/pvfs2/src/io/description/dist-twod-stripe.c,v
retrieving revision 1.4
diff -r1.4 dist-twod-stripe.c
436c436
< if(*(uint32_t*)value <= 0)
---
> if(*(int64_t*)value <= 0)
443,445c443,445
< "%s: num_groups: %d\n",
< __func__, *(uint32_t*)value);
< dparam->num_groups = *(uint32_t*)value;
---
> "%s: num_groups: %ld\n",
> __func__, *(int64_t*)value);
> dparam->num_groups = *(int64_t*)value;
450c450
< if(*(uint32_t*)value <= 0)
---
> if(*(int64_t*)value <= 0)
455,456c455,456
< "%s: group_strip_factor: %d\n",
< __func__,*(uint32_t*)value);
---
> "%s: group_strip_factor: %ld\n",
> __func__,*(int64_t*)value);
458c458
< dparam->group_strip_factor = *(uint32_t*)value;
---
> dparam->group_strip_factor = *(int64_t*)value;
473c473
< encode_int32_t(pptr,&dparam->group_strip_factor);
---
> encode_uint32_t(pptr,&dparam->group_strip_factor);
--
Kyle Schochenmaier
More information about the Pvfs2-developers
mailing list