]> git.apps.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)
committerxie xingguo <xie.xingguo@zte.com.cn>
Tue, 22 Aug 2017 14:14:28 +0000 (22:14 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
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];