Before we only allowed buckets (say, 'root') to be defined *before*
rules.
With this patch, we allow buckets and rules to be defined by any order,
although some care should be taken when creating the plain-text crush
map, or the crushtool will error out when a rule uses a bucket only
defined later on in the file.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
>> '}';
// the whole crush map
- crushmap = *(tunable | device | bucket_type) >> *bucket >> *crushrule;
+ crushmap = *(tunable | device | bucket_type) >> *(bucket | crushrule);
}
rule<ScannerT, parser_context<>, parser_tag<_crushmap> > const&