From 04ca68e65b7dc78acce46e995f5e666e468ad50f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 9 Mar 2009 13:18:05 -0700 Subject: [PATCH] osdmap: build default crush maps out of mostly straw buckets --- src/osd/OSDMap.cc | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index eccc76003f689..077084854441f 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -146,8 +146,8 @@ void OSDMap::build_simple_crush_map(CrushWrapper& crush, int num_osd, rweights[i] += 0x10000; } - crush_bucket_uniform *domain = crush_make_uniform_bucket(1, j, items, 0x10000); - ritems[i] = crush_add_bucket(crush.crush, 0, (crush_bucket*)domain); + crush_bucket *domain = (crush_bucket *)crush_make_uniform_bucket(1, j, items, 0x10000); + ritems[i] = crush_add_bucket(crush.crush, 0, domain); dout(20) << "added domain bucket i " << ritems[i] << " of size " << j << dendl; char bname[10]; @@ -156,8 +156,8 @@ void OSDMap::build_simple_crush_map(CrushWrapper& crush, int num_osd, } // root - crush_bucket_list *root = crush_make_list_bucket(2, ndom, ritems, rweights); - int rootid = crush_add_bucket(crush.crush, 0, (crush_bucket*)root); + crush_bucket *root = (crush_bucket *)crush_make_straw_bucket(2, ndom, ritems, rweights); + int rootid = crush_add_bucket(crush.crush, 0, root); crush.set_item_name(rootid, "root"); // rules @@ -186,11 +186,14 @@ void OSDMap::build_simple_crush_map(CrushWrapper& crush, int num_osd, // one bucket int items[num_osd]; - for (int i=0; i