osd/ReplicatedPG: include omap header in copy-get

Missed this the first time around.  Thank you, ceph_test_rados!

Fixes: #7056
Signed-off-by: Sage Weil <sage@inktank.com>
mon: fix forwarded request features when requests are resent

Pass the features in explicitly so that we can use messages we've just
decoded in resend_routed_requests().

Keep the features in struct RoutedRequest.

Renamed conn_features -> con_features while we are here.

Signed-off-by: Sage Weil <sage@inktank.com>
doc: Fix caps documentation for Admin API

The correct caps is users instead of user
ceph_test_rados: s/tmap/omap/

Signed-off-by: Sage Weil <sage@inktank.com>
osd/ReplicatedPG: fix copy-get iteration of omap keys

We need to call upper_bound() before checking if the iterator is valid!

Signed-off-by: Sage Weil <sage@inktank.com>
Merge pull request #991 from dachary/wip-stop

vstart/stop: do not loop forever on kill

Reviewed-by: Sage Weil <sage@inktank.com>
Merge pull request #989 from ceph/wip-7056

osd/ReplicatedPG: include omap header in copy-get

This now passes rados/thrash tests without failures.
Merge pull request #990 from ceph/wip-fix-mon-fwd

mon: fix forwarded request features when requests are resent

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
erasure-code: add chunk size calculation helpers

With the current erasure code interface, figuring out the size of a
chunk and the number of chunks for a given object can only be achieved
by calling the encode() method on an actual buffer.

The get_chunk_count, get_data_chunk_count and get_chunk_size helpers are
added and documented.

Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: refactor the example to use chunk size helpers

The get_chunk_size and get_chunk_count methods are implemented using the
code found in the encode() method. The encode method is modified to use
the chunk size helpers.

The unit tests are modified to use the helpers.

Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: jerasure implementation of chunk size helpers

The encode methode uses the get_chunk_size method which is a translation
of the code it previously used for the same purpose. The chunk_count and
chunk_data_count methods return k+m and k respectively. But that will
no longer be the case after local parity is implemented.

Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: erasure code decode interface helper

The decode_concat method is implemented, documented and tested. It is a
convenience method to concatenate chunks into a single bufferlist.

Signed-off-by: Loic Dachary <loic@dachary.org>