Bug #12775
common: do not insert emtpy ptr when rebuild emtpy bufferlist
0%
Description
when bufferlist len is 0, rebuild would new a prt with len 0 and insert into bufferlist.
The follow test case would assert.
bufferlist bl;
char t1[] = "X";
bufferlist a2;
a2.append(t1, 1);
bl.rebuild(); // this would insert new ptr with len 0
bl.append(a2);
bufferlist::iterator p = bl.begin();
char dst1;
p.copy(1, dst); // assert
Related issues
Associated revisions
common: fix insert empty ptr when bufferlist rebuild
Fixes: #12775
Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
common: fix insert empty ptr when bufferlist rebuild
Fixes: #12775
Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
(cherry picked from commit fb1b6ddd7bfe40d4a38d5ec59b1c3f59f2a83f23)
Conflicts:
src/common/buffer.cc : because invalidate_crc did not exist
in hammer
History
#1 Updated by Xinze Chi over 8 years ago
https://github.com/ceph/ceph/pull/5656 is waitting for review.
#2 Updated by Sage Weil over 8 years ago
- Status changed from New to Fix Under Review
#3 Updated by Sage Weil over 8 years ago
- Status changed from Fix Under Review to 7
#4 Updated by Sage Weil over 8 years ago
- Status changed from 7 to Pending Backport
- Source changed from other to Community (dev)
- Backport set to hammer
#5 Updated by Loïc Dachary over 8 years ago
- Status changed from Pending Backport to Resolved