]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crush/CrushTester: workaround a bug in boost::icl 7560/head
authorKefu Chai <kchai@redhat.com>
Mon, 8 Feb 2016 05:37:43 +0000 (13:37 +0800)
committerKefu Chai <kchai@redhat.com>
Mon, 8 Feb 2016 05:37:45 +0000 (13:37 +0800)
commit3395fb9e06da03dae8faee3f9bec1d35a4de3713
tree7baa505ceffd6a64495543a696f6a2062c5d3a8a
parentd21724a14566f1f2946616555de49e103abf7dc7
crush/CrushTester: workaround a bug in boost::icl

the boost::icl in boost v1.55 has a bug when working with libc++,

> Assertion failed: (this->_map.find(inter_val) == this->_map.end()),
> function gap_insert, file
> /usr/local/include/boost/icl/interval_base_map.hpp, line 555.

see https://svn.boost.org/trac/boost/ticket/9501 and
    https://svn.boost.org/trac/boost/ticket/9987

the bug was fixed in boost v1.56. as a workaround we use the the
`set` from `boost::container` instead of the `std::set` from libc++.
we should drop this workaround once we bump the supported boost
version from 1.42 to 1.56.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crush/CrushTester.cc