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