I noticed this also this morning, pcarns mentioned to me that you can
back out the following patch to get it to build if that is necessary.

http://www.pvfs.org/fisheye/rdiff/PVFS?csid=MAIN:slang:20081212171229&u&N

~Kyle

Kyle Schochenmaier



On Mon, Dec 15, 2008 at 1:31 PM, Bradley Settlemyer
<[email protected]> wrote:
> Hello,
>
>   I am having trouble building the tree due to the layout types (newer stuff
> I'm not familiar with) -- probably due to the recent compiler I am using,
> though I don't think you wanted what you had anyway.  I am seeing the
> following errors:
>
>   CC        src/apps/admin/pvfs2-touch.o
> src/apps/admin/pvfs2-touch.c: In function 'main':
> src/apps/admin/pvfs2-touch.c:48: error: incompatible types in assignment
> src/apps/admin/pvfs2-touch.c:77: error: incompatible types in assignment
> make: *** [src/apps/admin/pvfs2-touch.o] Error 1
>
>
> Which boils down to this line in pvfs2-touch:
>
>     layout.algorithm = PVFS_SYS_LAYOUT_DEFAULT;
>
> The accompanying enum is this:
>
> /* Layout algorithm for converting from server lists in the config
>  * to a list of servers to use to store datafiles for a file.
>  */
> enum PVFS_sys_layout_algorithm
> {
>     /* order the datafiles according to the server list */
>     PVFS_SYS_LAYOUT_NONE = 1,
>
>     /* choose the first datafile randomly, and then round-robin in-order */
>     PVFS_SYS_LAYOUT_ROUND_ROBIN = 2,
>
>     /* choose each datafile randomly */
>     PVFS_SYS_LAYOUT_RANDOM = 3,
>
>     /* order the datafiles based on the list specified */
>     PVFS_SYS_LAYOUT_LIST = 4
> };
> #define PVFS_SYS_LAYOUT_DEFAULT NULL
>
> (So obviously, default points to an invalid enum value -- namely 0).
>
> My guess is you wanted something more like this:
>
> enum PVFS_sys_layout_algorithm
> {
>    /* First enum value is the invalid case */
>    PVFS_SYS_LAYOUT_INVALID = 0;
>
>     PVFS_SYS_LAYOUT_NONE = 1,
>
>     /* choose the first datafile randomly, and then round-robin in-order */
>     PVFS_SYS_LAYOUT_ROUND_ROBIN = 2,
>
>     /* choose each datafile randomly */
>     PVFS_SYS_LAYOUT_RANDOM = 3,
>
>     /* order the datafiles based on the list specified */
>     PVFS_SYS_LAYOUT_LIST = 4
> };
>
> #define PVFS_SYS_LAYOUT_DEFAULT PVFS_SYS_LAYOUT_NONE
>
> Then you have the assert that the layout is not 0, and you have a safe
> initialization value if you need to set the enum type to some default
> initial value for an outbound parameter that won't pass the assert if it
> isn't set (due to an error) or if someone just memsets the thing by
> accident.
>
> I changed the call in pvfs2-touch.c to simply use PVFS_SYS_LAYOUT_NONE in my
> tree.
>
> Cheers,
> Brad
>
> _______________________________________________
> Pvfs2-developers mailing list
> [email protected]
> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
>
>
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to