The place where this gets checked does not have knowledge of the layout of the filesystem,j it just sets parameters for future files, I believe. The checks are in place to make sure we dont supply invalid values - values <= 0 inside set_param(). The problem I see with this on first glance at the code is that set_param() gets called 3 times whenever you set a fattr() and it parses the string you give it, once for each type of dist_param. A particular call into set_param that would set the num_groups would be out of scope of the call that sets the strip_factor so I dont see an easy way inside dist-twod-stripe.c to accomplish this?
I'd be willing to look into it further if anyone has any fancy tricks to accomplish this. Kyle On Tue, Jul 1, 2008 at 5:16 PM, Sam Lang <[EMAIL PROTECTED]> wrote: > > On Jul 1, 2008, at 4:15 PM, Kyle Schochenmaier wrote: > >> We should use simple stripe in that case, which is why i have it >> defaulted to it now, someone was playing with twod-dist today and >> noticed that it defaults to having 2 groups, which causes errors when >> you run it on only a single server. > > That seems like kind of a bug. Can we just add the appropriate check that > fixes the error? > -sam > >> I would much rather have the >> defaults allow the distribution to work on *any* setup, rather than >> just a n>1 servers setup. >> >> Its not particularly useful, but I belive it is the right thing to do, >> maybe I'm wrong? >> (the original default settings are worthless for my applications so I >> have to change them anyhow) >> >> Kyle >> >> On Tue, Jul 1, 2008 at 4:04 PM, Sam Lang <[EMAIL PROTECTED]> wrote: >>> >>> Kyle, >>> >>> How is this patch useful for you guys? With a single server (and only >>> one >>> stripe), it doesn't matter what the factor and num_groups are, does it? >>> It >>> still behaves the same as simple-stripe in that case. With multiple >>> servers >>> setting the factor and num_groups to 1 does make the 2d distribution act >>> like simple-stripe, but why not just use simple stripe in that case? >>> >>> -sam >>> >>> >>> On Jul 1, 2008, at 3:19 PM, Kyle Schochenmaier wrote: >>> >>>> Patch is against cvs head, and modifies the default num_groups to be 1 >>>> and the group_strip_factor = 1 so twod-stripe's defaults still work >>>> when you use it on a single-server, it will now by default behave the >>>> same as simple-stripe until the user modifies the num_groups and >>>> strip_factor xattrs. >>>> >>>> Also added a brief description of the definitions for the dist_params >>>> in twod-stripe. >>>> >>>> Tested fully functional on my servers. >>>> >>>> Kyle >>>> >>>> >>>> Index: src/io/description/dist-twod-stripe.c >>>> =================================================================== >>>> RCS file: /anoncvs/pvfs2/src/io/description/dist-twod-stripe.c,v >>>> retrieving revision 1.5 >>>> diff -r1.5 dist-twod-stripe.c >>>> 6a7,15 >>>>> >>>>> /* twod-stripe will take all of the servers in the filesystem and >>>>> * partition them into num_groups groups. Data will then be striped to >>>>> * each group before we move onto the next group. The strip_factor will >>>>> * determine how many chunks of strip_size are written to each server >>>>> * in each group before we transition to the next group. >>>>> * The striping on the group level is done round-robin in the same >>>>> * fashion as simple-stripe >>>>> */ >>>>> >>>> >>>> >>>> Index: include/pvfs2-dist-twod-stripe.h >>>> =================================================================== >>>> RCS file: /anoncvs/pvfs2/include/pvfs2-dist-twod-stripe.h,v >>>> retrieving revision 1.4 >>>> diff -r1.4 pvfs2-dist-twod-stripe.h >>>> 17c17 >>>> < #define PVFS_DIST_TWOD_STRIPE_DEFAULT_GROUPS 2 >>>> --- >>>>> >>>>> #define PVFS_DIST_TWOD_STRIPE_DEFAULT_GROUPS 1 >>>> >>>> 19c19 >>>> < #define PVFS_DIST_TWOD_STRIPE_DEFAULT_FACTOR 256 >>>> --- >>>>> >>>>> #define PVFS_DIST_TWOD_STRIPE_DEFAULT_FACTOR 1 >>>> >>>> >>>> - >>>> Kyle Schochenmaier >>>> <twod-dist.patch>_______________________________________________ >>>> Pvfs2-developers mailing list >>>> [email protected] >>>> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers >>> >>> >> >> >> >> -- >> Kyle Schochenmaier > > -- Kyle Schochenmaier _______________________________________________ Pvfs2-developers mailing list [email protected] http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
