[Pvfs2-developers] genconfig handle assignment

Sam Lang slang at mcs.anl.gov
Tue Dec 19 16:17:17 EST 2006


On Dec 19, 2006, at 10:44 AM, Pete Wyckoff wrote:

> We're trying to upgrade from HEAD as of 2006-04-15 to 2.6.1.
> There's little fixes I will check in, but I need some advice on
> this patch below.
>
> It works around changes to genconfig that went in on 2006-06-10
> by slang:
> http://www.pvfs.org/fisheye/browse/PVFS/src/apps/admin/pvfs2- 
> genconfig?r1=1.54&r2=1.55
>
> We would like to preserve the same handle ranges, and specify
> on the genconfig command line:
>
>     --first-handle=4 \
>     --last-handle=4294967298 \
>     --root-handle=1048576 \
>
> but the $count in the code as it was, was just data servers.  The
> handle range needs to include metadata servers too.  Tell me if this
> should be handled better than how I hacked around the issue.

Your change looks fine.  You probably could just pass ($meta_count +  
$io_count) to emIt_filesystem, but this is perl, so cleanliness is  
hardly something to argue over. :-)

>
> Turns out it won't matter this time as we have to rebuild the
> data storage anyway due to the "dir_ent" -> "de" change.  There was
> no warning on server startup about that, though.

Did you run the migration tool?  If not, then the server should have  
complained about storage version mismatch.  If you did run the  
migration tool, all your 'dir_ent' keyvals should now be 'de'.

-sam

>
> 		-- Pete
>
>
> --- src/apps/admin/pvfs2-genconfig	2006-12-19 11:17:04.000000000 -0500
> +++ oscbw	2006-12-19 11:28:04.000000000 -0500
> @@ -222,11 +222,13 @@
>
>      # divide handle range space equally among servers ((2^32)-1  
> for now)
>      my($total_num_handles_available, $start, $end, $i, $step,  
> $num_ranges);
> -    $num_ranges = $count;
>      $total_num_handles_available = $last_handle - $first_handle + 1;
>
>      # since meta and data handle ranges must be split, increment
>      # num nodes for calculation purposes below
> +    my @meta_aliases = get_aliases($META_ENDPOINT);
> +    my @io_aliases = get_aliases($IO_ENDPOINT);
> +    $num_ranges = scalar(@meta_aliases) + scalar(@io_aliases);
>      $step = sprintf("%lu",($total_num_handles_available /  
> $num_ranges));
>
>      print $target "\n<Filesystem>\n";
> @@ -241,7 +243,6 @@
>
>      $start = $end = $first_handle - 1;
>
> -    my @meta_aliases = get_aliases($META_ENDPOINT);
>      @meta_aliases = sort @meta_aliases;
>      foreach my $ma (@meta_aliases)
>      {
> @@ -253,7 +254,6 @@
>      print $target "\t</MetaHandleRanges>\n";
>      print $target "\t<DataHandleRanges>\n";
>
> -    my @io_aliases = get_aliases($IO_ENDPOINT);
>      @io_aliases = sort @io_aliases;
>      foreach my $ia (@io_aliases)
>      {
> _______________________________________________
> Pvfs2-developers mailing list
> Pvfs2-developers at beowulf-underground.org
> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
>



More information about the Pvfs2-developers mailing list