Plasma GitLab Archive
Projects Blog Knowledge

Module Nn_blockmap


module Nn_blockmap: sig .. end
Already allocated blocks of this inode. This list should only include blocks of the range immediately preceding the newly allocated range. The algorithm looks then for free blocks in the vicinity.

exception Inactive

type reserve_info = {
   ri_blocks : Nn_db.allocinfo list; (*Already allocated blocks of this inode. This list should only include blocks of the range immediately preceding the newly allocated range. The algorithm looks then for free blocks in the vicinity.*)
}
Optional information for block reservations
val create_reserve_info : ?blocks:Nn_db.allocinfo list -> unit -> reserve_info
Creates a reserve_info record
type triv_range = int64 * int64 
(startblock, number)
val string_of_trl : triv_range list -> string
For debugging
type owner 
val create_owner : unit -> owner
The owner is an opaque ID which is guaranteed to be unique in the whole Netplex system
val string_of_owner : owner -> string
debug string
class type blockmap_t = object .. end
block maps are in-memory representation of the per-datastore bitmaps whether blocks are used or free.
class blockmap : id:int -> identity:string -> size:int64 -> blockmap_t
Create a blockmap for DB row id and datastore identity, with an initial size.
val blockmap_from_db_e : id:int ->
identity:string ->
size:int64 ->
Pfs_db.ro_async_connection ->
Unixqueue.event_system -> blockmap_t Uq_engines.engine
Create a blockmap object, and initialize it from the blockalloc db table
val fill_blockmap : blockmap_t -> unit
Fills the blockmap from db (synchronous)
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml