]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crush: update crush_choose_arg_map size on resizing
authorxie xingguo <xie.xingguo@zte.com.cn>
Mon, 14 Aug 2017 06:19:09 +0000 (14:19 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 24 Aug 2017 02:01:30 +0000 (10:01 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit 0c8ca02727b83c5bcbf896010e675762fdc333f5)

src/crush/CrushWrapper.cc

index 1dbcc3d6f381df40aaade3b2d19880c9c1b58096..d95e8b8d6d049e13dc22c8df6bf03a3dbfab523a 100644 (file)
@@ -1963,8 +1963,10 @@ int CrushWrapper::device_class_clone(
       unsigned new_size = -1-bno + 1;
       cmap.args = (crush_choose_arg*)realloc(cmap.args,
                                             new_size * sizeof(cmap.args[0]));
+      assert(cmap.args);
       memset(cmap.args + cmap.size, 0,
             (new_size - cmap.size) * sizeof(cmap.args[0]));
+      cmap.size = new_size;
     }
     auto& o = cmap.args[-1-original_id];
     auto& n = cmap.args[-1-bno];