#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include "Builder.h"
#include "hash.h"
Defines | |
#define | BUG_ON(x) assert(!(x)) |
Functions | |
struct crush_map * | crush_create () |
void | crush_finalize (struct crush_map *map) |
int | crush_add_rule (struct crush_map *map, struct crush_rule *rule, int ruleno) |
struct crush_rule * | crush_make_rule (int len, int ruleset, int type, int minsize, int maxsize) |
void | crush_rule_set_step (struct crush_rule *rule, int n, int op, int arg1, int arg2) |
int | crush_get_next_bucket_id (struct crush_map *map) |
int | crush_add_bucket (struct crush_map *map, int id, struct crush_bucket *bucket) |
struct crush_bucket_uniform * | crush_make_uniform_bucket (int hash, int type, int size, int *items, int item_weight) |
struct crush_bucket_list * | crush_make_list_bucket (int hash, int type, int size, int *items, int *weights) |
struct crush_bucket_tree * | crush_make_tree_bucket (int hash, int type, int size, int *items, int *weights) |
struct crush_bucket_straw * | crush_make_straw_bucket (int hash, int type, int size, int *items, int *weights) |
struct crush_bucket * | crush_make_bucket (int alg, int hash, int type, int size, int *items, int *weights) |
#define BUG_ON | ( | x ) | assert(!(x)) |
int crush_add_bucket | ( | struct crush_map * | map, |
int | id, | ||
struct crush_bucket * | bucket | ||
) |
int crush_add_rule | ( | struct crush_map * | map, |
struct crush_rule * | rule, | ||
int | ruleno | ||
) |
rules
struct crush_map* crush_create | ( | ) | [read] |
void crush_finalize | ( | struct crush_map * | map ) |
int crush_get_next_bucket_id | ( | struct crush_map * | map ) |
buckets
struct crush_bucket* crush_make_bucket | ( | int | alg, |
int | hash, | ||
int | type, | ||
int | size, | ||
int * | items, | ||
int * | weights | ||
) | [read] |
struct crush_bucket_list* crush_make_list_bucket | ( | int | hash, |
int | type, | ||
int | size, | ||
int * | items, | ||
int * | weights | ||
) | [read] |
struct crush_rule* crush_make_rule | ( | int | len, |
int | ruleset, | ||
int | type, | ||
int | minsize, | ||
int | maxsize | ||
) | [read] |
struct crush_bucket_straw* crush_make_straw_bucket | ( | int | hash, |
int | type, | ||
int | size, | ||
int * | items, | ||
int * | weights | ||
) | [read] |
struct crush_bucket_tree* crush_make_tree_bucket | ( | int | hash, |
int | type, | ||
int | size, | ||
int * | items, | ||
int * | weights | ||
) | [read] |
struct crush_bucket_uniform* crush_make_uniform_bucket | ( | int | hash, |
int | type, | ||
int | size, | ||
int * | items, | ||
int | item_weight | ||
) | [read] |
void crush_rule_set_step | ( | struct crush_rule * | rule, |
int | n, | ||
int | op, | ||
int | arg1, | ||
int | arg2 | ||
) |