blob: eab367446eea7fa683cb4fd15e74ad3822bb35c8 [file] [log] [blame]
Sage Weil5cd068c2010-07-07 08:38:17 -07001#ifndef CEPH_CRUSH_MAPPER_H
2#define CEPH_CRUSH_MAPPER_H
Sage Weil5ecc0a02009-10-06 11:31:11 -07003
4/*
5 * CRUSH functions for find rules and then mapping an input to an
6 * output set.
7 *
8 * LGPL2
9 */
10
David Howellsa1ce3922012-10-02 18:01:25 +010011#include <linux/crush/crush.h>
Sage Weil5ecc0a02009-10-06 11:31:11 -070012
Sage Weil8b12d472012-05-07 15:38:35 -070013extern int crush_find_rule(const struct crush_map *map, int ruleset, int type, int size);
14extern int crush_do_rule(const struct crush_map *map,
Sage Weil5ecc0a02009-10-06 11:31:11 -070015 int ruleno,
16 int x, int *result, int result_max,
Ilya Dryomove8ef19c2013-12-24 21:19:24 +020017 const __u32 *weights, int weight_max,
18 int *scratch);
Sage Weil5ecc0a02009-10-06 11:31:11 -070019
20#endif