With bluestore, making the smallest write match min_alloc_size avoids
write amplification. With EC pools this is the stripe unit, or
stripe_width / num_data_chunks. Rather than requiring people to divide
by k to get the smallest ec write, allow it to be specified directly
via stripe_unit. Store it in the ec profile so changing a monitor
config option isn't necessary to set it.
This is particularly important for ec overwrites since they allow random i/o
which should match bluestore's checksum granularity (aka min_alloc_size).
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
The plugins are made a sub-section of the erasure code profile
section. The k and m parameters are removed from erasure code profile
documentation. They were added for simplicity in the first version
because there was only one plugin. But they should really be in the
plugin documentation.
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
And a link from rados/operations.
http://tracker.ceph.com/issues/8514Fixes: #8514
Reported-by: Kenneth Waegeman <Kenneth.Waegeman@UGent.be>
Signed-off-by: Loic Dachary <loic@dachary.org>