From: xie xingguo Date: Fri, 18 Aug 2017 04:36:57 +0000 (+0800) Subject: crush: force rebuilding shadow hierarchy after swapping buckets X-Git-Tag: v13.0.0^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7e3528a9dc7fb53bce5b2c39b644c2b2b2c5d417;p=ceph.git crush: force rebuilding shadow hierarchy after swapping buckets Was: --------------------------------------------------------------- ID CLASS WEIGHT TYPE NAME -8 ssd 3.00000 root fake-root~ssd -6 ssd 3.00000 host fake~ssd 0 ssd 1.00000 osd.0 1 ssd 1.00000 osd.1 2 ssd 1.00000 osd.2 -7 3.00000 root fake-root -5 3.00000 host gitbuilder-ceph-rpm-centos7-amd64-basic 3 ssd 1.00000 osd.3 4 ssd 1.00000 osd.4 5 ssd 1.00000 osd.5 -4 ssd 3.00000 root default~ssd -3 ssd 3.00000 host gitbuilder-ceph-rpm-centos7-amd64-basic~ssd 3 ssd 1.00000 osd.3 4 ssd 1.00000 osd.4 5 ssd 1.00000 osd.5 -1 3.00000 root default -2 3.00000 host fake 0 ssd 1.00000 osd.0 1 ssd 1.00000 osd.1 2 ssd 1.00000 osd.2 Now: --------------------------------------------------------------- ID CLASS WEIGHT TYPE NAME -8 ssd 3.00000 root fake-root~ssd -7 ssd 3.00000 host gitbuilder-ceph-rpm-centos7-amd64-basic~ssd 3 ssd 1.00000 osd.3 4 ssd 1.00000 osd.4 5 ssd 1.00000 osd.5 -6 3.00000 root fake-root -5 3.00000 host gitbuilder-ceph-rpm-centos7-amd64-basic 3 ssd 1.00000 osd.3 4 ssd 1.00000 osd.4 5 ssd 1.00000 osd.5 -4 ssd 3.00000 root default~ssd -3 ssd 3.00000 host fake~ssd 0 ssd 1.00000 osd.0 1 ssd 1.00000 osd.1 2 ssd 1.00000 osd.2 -1 3.00000 root default -2 3.00000 host fake 0 ssd 1.00000 osd.0 1 ssd 1.00000 osd.1 2 ssd 1.00000 osd.2 Signed-off-by: xie xingguo --- diff --git a/src/crush/CrushWrapper.cc b/src/crush/CrushWrapper.cc index 76c6afe60a5ce..d95e90a542559 100644 --- a/src/crush/CrushWrapper.cc +++ b/src/crush/CrushWrapper.cc @@ -1075,7 +1075,7 @@ int CrushWrapper::swap_bucket(CephContext *cct, int src, int dst) // swap names swap_names(src, dst); - return 0; + return rebuild_roots_with_classes(); } int CrushWrapper::link_bucket(