[Lustre-devel] loadgen improvements
Alexey Lyashkov
alexey.lyashkov at clusterstor.com
Tue Dec 8 22:57:10 PST 2009
On Tue, 2009-12-08 at 23:35 -0700, Andreas Dilger wrote:
> On 2009-12-08, at 22:07, Alexey Lyashkov wrote:
> > This can be something similar as
> >>
> > pattern $name $pool_name $operation [$stripe_size [$stripe_count]]
> >
> > where
> > name - is pattern name
> > pool_name - is name of OST pools assigned to this pattern
> > operation - is one of READ or WRITE.
> > stripe_size - if set, workload need to setup LOV and add linkage
> > between
> > LOV and OSC targets, and separate single operation to stripes.
> > stripe_count - if set, workload should be use for only part of OST
> > pool
> > to each echo object.
>
> Please do not use positional parameters. That makes it nearly
> impossible to change the input format in the future, or to skip some
> fields and leave them as defaults. This needs to use getopt() and
> named parameters:
>
> --pool=pool_name, --stripe_size=N, --stripe_count=N
This possible, but unlikely. because need will be save current pool
name, instead have parsed as single command.
And I don't have plan to rewrite loadgen to use getopt, instead of
current Parser() function which is used in lctl, lfs, and other.
But i agree about avoid position depended parameters.
How about this style
>>> pool $name { targets:"OST1, OST2" }
and
>>> pattern $pat { stripe_count:X stripe_size:Y block_size:Z };
and
>>> clients $pattern { count:XX pattern: pat shared }
?
--
Alexey Lyashkov <alexey.lyashkov at clusterstor.com>
ClusterStor
More information about the lustre-devel
mailing list