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
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to