The str_p("straw2") won't parse straw2, it seems because the digit is throwing
it off. Use the existing name rule instead which is more robust. Note that
not constraining the alg value here is better anyway because instead of a
'cannot parse' error that is hard to debug we instead get a 'unknown alg foo'
error when doing the semantic pass.
Fixes: #11015
Signed-off-by: Sage Weil <sage@redhat.com>
// buckets
bucket_id = str_p("id") >> negint;
- bucket_alg = str_p("alg") >> ( str_p("uniform") |
- str_p("list") |
- str_p("tree") |
- str_p("straw") |
- str_p("straw2"));
+ bucket_alg = str_p("alg") >> name;
bucket_hash = str_p("hash") >> ( integer |
str_p("rjenkins1") );
bucket_item = str_p("item") >> name