mirror of
https://github.com/ceph/ceph
synced 2024-12-25 21:03:31 +00:00
d4808256d2
When multiple objects are in flight for the same ReadOp, swap() on the map<hobject_t, read_request_t> would remove requests for all objects. We just want to replace the requests for the single object we're dealing with in send_all_remaining_reads(). This prevents crashing trying to look up rop.to_read[hoid] when another object in the same ReadOp gets an EIO and tries to send more requests. Test this by using osd-recovery-max-single-start to bundle multiple reads into one ReadOp. Save and restore CEPH_ARGS so custom settings are reset for each test. Fixes: http://tracker.ceph.com/issues/23195 (the 2nd crash there) Signed-off-by: Josh Durgin <jdurgin@redhat.com> |
||
---|---|---|
.. | ||
test-erasure-code-plugins.sh | ||
test-erasure-code.sh | ||
test-erasure-eio.sh |