Plasma GitLab Archive
Projects Blog Knowledge

Module Nn_alloc_balanced


module Nn_alloc_balanced: sig .. end
Block allocation algorithm

val get_allocsize : int -> int
Get the allocation size for the blocksize. The allocation size is the number of blocks that are allocated at once
val allocate_balanced_strategy : inode:int64 ->
Nn_blockmap.blockmap_t list ->
Nn_alloc_types.transacted_datastores ->
Nn_blockmap.owner ->
int ->
int64 ->
int ->
int -> string list -> Nn_blockmap.reserve_info -> Nn_blocklist.blocklist
allocate_balanced_strategy inode bmaps td owner repl index number bs pref: Allocates blocks for the index range index to index+number-1. The replication factor is repl. The blocks are allocated in the passed blockmaps bmaps, and will be assigned to owner. Tickets are generated for the transaction identified by td. In bs the blocksize must be passed. The list pref can contain the identities of preferred datanodes; if possible blocks are allocated there.

This algorithm allocates blocks in ranges, and tries to get a balanced allocation with respect to the datanodes.

May raise Nn_alloc_types.No_space.

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml