mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
crush: merge working data and scratch
Much like Arlo Guthrie, I decided that one big pile is better than two little piles. Reflects ceph.git commit 95c2df6c7e0b22d2ea9d91db500cf8b9441c73ba. Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
66a0e2d579
commit
743efcffff
4 changed files with 29 additions and 19 deletions
|
@ -15,7 +15,19 @@ extern int crush_do_rule(const struct crush_map *map,
|
|||
int ruleno,
|
||||
int x, int *result, int result_max,
|
||||
const __u32 *weights, int weight_max,
|
||||
void *cwin, int *scratch);
|
||||
void *cwin);
|
||||
|
||||
/*
|
||||
* Returns the exact amount of workspace that will need to be used
|
||||
* for a given combination of crush_map and result_max. The caller can
|
||||
* then allocate this much on its own, either on the stack, in a
|
||||
* per-thread long-lived buffer, or however it likes.
|
||||
*/
|
||||
static inline size_t crush_work_size(const struct crush_map *map,
|
||||
int result_max)
|
||||
{
|
||||
return map->working_size + result_max * 3 * sizeof(__u32);
|
||||
}
|
||||
|
||||
void crush_init_workspace(const struct crush_map *map, void *v);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue