15cd068c200795537fd78c423254389c8a07e2d20Sage Weil#ifndef CEPH_CRUSH_MAPPER_H
25cd068c200795537fd78c423254389c8a07e2d20Sage Weil#define CEPH_CRUSH_MAPPER_H
35ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil
45ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil/*
55ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil * CRUSH functions for find rules and then mapping an input to an
65ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil * output set.
75ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil *
85ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil * LGPL2
95ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil */
105ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil
115ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil#include "crush.h"
125ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil
135ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weilextern int crush_find_rule(struct crush_map *map, int pool, int type, int size);
145ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weilextern int crush_do_rule(struct crush_map *map,
155ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil			 int ruleno,
165ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil			 int x, int *result, int result_max,
175ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil			 int forcefeed,    /* -1 for none */
185ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil			 __u32 *weights);
195ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil
205ecc0a0f8128b1876e8614638deaed49cc8b174cSage Weil#endif
21