ceph osd crush rm osd.$o2 host2
ceph osd crush rm host2
+ceph osd crush add-bucket foo host
+ceph osd crush move foo root=default rack=localrack
+
+ceph osd crush create-or-move osd.$o1 1.0 root=default
+ceph osd crush move osd.$o1 host=foo
+ceph osd find $o1 | grep host | grep foo
+
ceph osd crush rm osd.$o1
ceph osd crush rm osd.$o2
-ceph osd crush add-bucket foo host
-ceph osd crush move foo root=default rack=localrack
ceph osd crush rm foo
# test reweight
int id = newcrush.get_item_id(name);
if (!newcrush.check_item_loc(g_ceph_context, id, loc, (int *)NULL)) {
- err = newcrush.move_bucket(g_ceph_context, id, loc);
+ if (id >= 0) {
+ err = newcrush.create_or_move_item(g_ceph_context, id, 0, name, loc);
+ } else {
+ err = newcrush.move_bucket(g_ceph_context, id, loc);
+ }
if (err >= 0) {
ss << "moved item id " << id << " name '" << name << "' to location " << loc << " in crush map";
pending_inc.crush.clear();