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 = {
}
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)