Btw, the kernel module in the tree works correctly with Fedora 9's latest
Kernel.

Cheers,
brad


On Mon, Dec 15, 2008 at 2:33 PM, Kyle Schochenmaier <[email protected]>wrote:

> 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