Lines Matching +full:container +full:- +full:rules
1 /* SPDX-License-Identifier: GPL-2.0 */
13 * CRUSH is a pseudo-random data distribution algorithm that
20 * https://www.ssrc.ucsc.edu/Papers/weil-sc06.pdf
39 * CRUSH uses user-defined "rules" to describe how inputs should be
73 #define CRUSH_CHOOSE_N_MINUS(x) (-(x))
99 * A bucket is a named container of other items (either devices or
106 * ------------------------------------------------
133 __u16 type; /* non-zero; type=0 is reserved for devices */
136 __u32 weight; /* 16-bit fixed point */
163 * __weight_set_size__, the weights found at __weight_set_size-1__ are
187 * __map->max_buckets__.
190 * an item from the bucket __map->buckets[N]__ bucket, provided it
206 __u32 item_weight; /* 16-bit fixed point; all items equally weighted */
211 __u32 *item_weights; /* 16-bit fixed point */
212 __u32 *sum_weights; /* 16-bit fixed point. element i is sum
225 __u32 *item_weights; /* 16-bit fixed point */
226 __u32 *straws; /* 16-bit fixed point */
231 __u32 *item_weights; /* 16-bit fixed point */
237 * CRUSH map includes all buckets, rules, etc.
241 struct crush_rule **rules; member
247 /* choose local retries before re-descent */
250 * re-descent */
260 /* if non-zero, feed r into chooseleaf, bit-shifted right by (r-1)
304 /* device/bucket type id -> type name (CrushWrapper::type_map) */
307 /* device/bucket id -> name (CrushWrapper::name_map) */
329 return ((i+1) << 1)-1; in crush_calc_tree_node()
348 struct crush_work_bucket **work; /* Per-bucket working store */