Hi guys, I am reading the source code of ceph and trying to understand the data structure of crush_map. Now I am confused by the use of "struct crush_bucket **buckets" in function "int crush_do_rule(...)" in src/crush/mapper.c. It seems that the index of array "map->buckets[]" could be negative (see line 551, src/crush/mapper.c). I was wondering if anyone could explain why the index of this array can be negative and how those buckets were added into this array. Thanks. Best, L. Wan -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html