]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crush: force rebuilding shadow hierarchy after swapping buckets 17229/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Fri, 18 Aug 2017 04:36:57 +0000 (12:36 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 24 Aug 2017 15:17:35 +0000 (23:17 +0800)
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 <xie.xingguo@zte.com.cn>
(cherry picked from commit 7e3528a9dc7fb53bce5b2c39b644c2b2b2c5d417)

src/crush/CrushWrapper.cc

index 76c6afe60a5ce32535af0c088f30f4d2a0d86998..d95e90a542559f33c3b0562644f98d9136a3bf98 100644 (file)
@@ -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(