Red Hat Bugzilla – Bug 1255827
[RH-COMMON] FAILED assert(m_seed < old_pg_num) in librbd when increasing placement groups
Last modified: 2017-07-30 11:30:03 EDT
Description of problem:
If librbd has an image opened and the image header's placement group is split (via increasing the number of placement groups), librbd will crash due to a failed assertion.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. create a pool 'test' with 8 pgs
2. rbd create --pool test --image-format 1 --size 1024 foo
3. rbd watch --pool test foo
4. ceph osd pool set test pg_num 16
FAILED assert(m_seed < old_pg_num)
librbd transparently handles the PG increase.
Technically -- will only fail if the "RBD header's placement hash" module "old PG count mask" != "RBD header's placement hash" modulo "new PG count mask". Therefore, the larger the increase in PG count (i.e. double the size), the more likely you will encounter the issue.
Jason and Josh, I'm thinking this bug is a duplicate of bug 1258625. Do you agree?
Yeah, same bug. Close whichever is convenient.
Thanks! closing this one, since 1258625 has more people on the CC and the customer portal cases attached.
*** This bug has been marked as a duplicate of bug 1258625 ***
On second thought, we'll need this BZ in order to track the librbd fix in RH-COMMON.
Closing all RHCS 1.2 bugs, since we are not planning to do a formal RHCS 1.2.4 release.
This particular issue was already fixed in RHCS 1.3, in https://bugzilla.redhat.com/show_bug.cgi?id=1255830