Index: src/io/description/dist-twod-stripe.c =================================================================== RCS file: /anoncvs/pvfs2/src/io/description/dist-twod-stripe.c,v retrieving revision 1.6 diff -a -u -p -r1.6 dist-twod-stripe.c --- src/io/description/dist-twod-stripe.c 7 Jul 2008 14:25:27 -0000 1.6 +++ src/io/description/dist-twod-stripe.c 10 Jul 2008 23:30:05 -0000 @@ -71,13 +71,16 @@ static PVFS_offset logical_to_physical_o num_groups = dparam->num_groups; strip_size = dparam->strip_size; - if(num_groups > server_ct || num_groups == 0 || server_ct == 0 ) + if( num_groups == 0 || server_ct == 0 ) { gossip_err("%s: Invalid num_groups/server_ct options: " "gr:%d server:%d\n", __func__, num_groups, server_ct); } + if(num_groups > server_ct ) + num_groups = server_ct; + /* size of all groups that are of equal size: all groups * except when server_ct doesnt divide evenly into num_groups */ small_group_size = server_ct / num_groups; @@ -190,7 +193,7 @@ static PVFS_offset physical_to_logical_o PVFS_size global_stripes = 0; uint32_t num_groups = dparam->num_groups; - if(num_groups > server_ct || num_groups == 0 || server_ct == 0 ) + if( num_groups == 0 || server_ct == 0 ) { gossip_err( "%s: Invalid num_groups/server_ct options: " @@ -198,6 +201,9 @@ static PVFS_offset physical_to_logical_o __func__,num_groups,server_ct); } + if(num_groups > server_ct) + num_groups = server_ct; + /* if we are a server in the last group, make sure things are happy */ if(server_nr >= (num_groups-1)*(small_group_size)) { @@ -334,7 +340,7 @@ static PVFS_offset next_mapped_offset(vo return physical_to_logical_offset(params,fd,0); } - if(num_groups > server_ct || num_groups == 0 || server_ct == 0 ) + if( num_groups == 0 || server_ct == 0 ) { gossip_err("%s: Invalid num_groups/server_ct options: " "gr:%d server:%d\n", @@ -342,7 +348,8 @@ static PVFS_offset next_mapped_offset(vo num_groups, server_ct); } - + if(num_groups > server_ct) + num_groups = server_ct; total_stripes += global_stripes * factor; /* if we are a server in the last group, make sure things are happy */