Description of problem:
backport tracker : 15647 : osd: rados cppool omap to ec pool crashes osd
Version-Release number of selected component (if applicable):
ceph version 0.94.5-12.el7cp
osd/ReplicatedPG.cc: 6437: FAILED assert(cop->omap_header.length() == 0)
ceph version 0.94.5-12.el7cp (b08a982b961058eae6ee7c6a0efd2666d0bb4b1a)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x85) [0xb08f35]
2: (ReplicatedPG::_write_copy_chunk(boost::shared_ptr<ReplicatedPG::CopyOp>, PGBackend::PGTransaction*)+0x977) [0x8025b7]
3: (ReplicatedPG::_build_finish_copy_transaction(boost::shared_ptr<ReplicatedPG::CopyOp>, PGBackend::PGTransaction*)+0xef) [0x80271f]
4: (ReplicatedPG::process_copy_chunk(hobject_t, unsigned long, int)+0x44c) [0x83f54c]
5: (C_Copyfrom::finish(int)+0xb1) [0x88e131]
6: (Context::complete(int)+0x9) [0x683589]
7: (Finisher::finisher_thread_entry()+0x168) [0xa2bda8]
8: (()+0x7dc5) [0x7f4e844e6dc5]
9: (clone()+0x6d) [0x7f4e82fc6ced]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
Are there any automated tests that check this issue (eg. in Teuthology)?
(In reply to Ken Dreyer (Red Hat) from comment #2)
> Are there any automated tests that check this issue (eg. in Teuthology)?
I am not sure about automated tests. May be Kefu will have more idea on this.
But it is very easy to test. I have tested with rados cppool.
- If we do cppool from a replicated pool to erasure pool.
OSDs were crashing with assert given in comment#0.
- After fix if we do cppool from a replicated pool to erasure pool. OSDs should not crash with assert given in comment#0.
Harish, Can we get qa_ack+ for this bug as test steps are already given.
Thanks for your help.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.