Classes | Defines | Enumerations | Functions

crush.h File Reference

#include <stdint.h>
Include dependency graph for crush.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  crush_rule_step
struct  crush_rule_mask
struct  crush_rule
struct  crush_bucket
struct  crush_bucket_uniform
struct  crush_bucket_list
struct  crush_bucket_tree
struct  crush_bucket_straw
struct  crush_map

Defines

#define CRUSH_MAGIC   0x00010000ul
#define CRUSH_MAX_DEPTH   10
#define CRUSH_MAX_SET   10
#define CRUSH_CHOOSE_N   0
#define CRUSH_CHOOSE_N_MINUS(x)   (-(x))
#define crush_rule_size(len)

Enumerations

enum  {
  CRUSH_RULE_NOOP = 0, CRUSH_RULE_TAKE = 1, CRUSH_RULE_CHOOSE_FIRSTN = 2, CRUSH_RULE_CHOOSE_INDEP = 3,
  CRUSH_RULE_EMIT = 4, CRUSH_RULE_CHOOSE_LEAF_FIRSTN = 6, CRUSH_RULE_CHOOSE_LEAF_INDEP = 7
}
enum  { CRUSH_BUCKET_UNIFORM = 1, CRUSH_BUCKET_LIST = 2, CRUSH_BUCKET_TREE = 3, CRUSH_BUCKET_STRAW = 4 }

Functions

const char * crush_bucket_alg_name (int alg)
int crush_get_bucket_item_weight (struct crush_bucket *b, int pos)
void crush_calc_parents (struct crush_map *map)
void crush_destroy_bucket_uniform (struct crush_bucket_uniform *b)
void crush_destroy_bucket_list (struct crush_bucket_list *b)
void crush_destroy_bucket_tree (struct crush_bucket_tree *b)
void crush_destroy_bucket_straw (struct crush_bucket_straw *b)
void crush_destroy_bucket (struct crush_bucket *b)
void crush_destroy (struct crush_map *map)

Define Documentation

#define CRUSH_CHOOSE_N   0
#define CRUSH_CHOOSE_N_MINUS (   x )    (-(x))
#define CRUSH_MAGIC   0x00010000ul
#define CRUSH_MAX_DEPTH   10
#define CRUSH_MAX_SET   10
#define crush_rule_size (   len )
Value:
(sizeof(struct crush_rule) + \
                              (len)*sizeof(struct crush_rule_step))

Enumeration Type Documentation

anonymous enum
Enumerator:
CRUSH_RULE_NOOP 
CRUSH_RULE_TAKE 
CRUSH_RULE_CHOOSE_FIRSTN 
CRUSH_RULE_CHOOSE_INDEP 
CRUSH_RULE_EMIT 
CRUSH_RULE_CHOOSE_LEAF_FIRSTN 
CRUSH_RULE_CHOOSE_LEAF_INDEP 
anonymous enum
Enumerator:
CRUSH_BUCKET_UNIFORM 
CRUSH_BUCKET_LIST 
CRUSH_BUCKET_TREE 
CRUSH_BUCKET_STRAW 

Function Documentation

const char* crush_bucket_alg_name ( int  alg )
void crush_calc_parents ( struct crush_map map )

crush_calc_parents - Calculate parent vectors for the given crush map. : crush_map pointer

void crush_destroy ( struct crush_map map )

crush_destroy - Destroy a crush_map : crush_map pointer

void crush_destroy_bucket ( struct crush_bucket b )
void crush_destroy_bucket_list ( struct crush_bucket_list b )
void crush_destroy_bucket_straw ( struct crush_bucket_straw b )
void crush_destroy_bucket_tree ( struct crush_bucket_tree b )
void crush_destroy_bucket_uniform ( struct crush_bucket_uniform b )
int crush_get_bucket_item_weight ( struct crush_bucket b,
int  p 
)

crush_get_bucket_item_weight - Get weight of an item in given bucket : bucket pointer : item index in bucket