Module Qcow_metadata
type error
=[
|
Mirage_block.error
|
`Msg of string
]
type write_error
=[
|
Mirage_block.write_error
|
`Msg of string
]
val make : cache:Qcow_cache.t -> cluster_bits:int -> locks:Qcow_locks.t -> unit -> t
Construct a qcow metadata structure given a set of cluster read/write/flush operations
val set_cluster_map : t -> Qcow_cluster_map.t -> unit
Set the associated cluster map (which will be updated on every cluster write)
module Refcounts : sig ... end
module Physical : sig ... end
val erase : contents -> unit
Set the cluster contents to zeroes
val read_and_lock : ?client:Qcow_locks.Client.t -> t -> Qcow_types.Cluster.t -> (contents * Qcow_locks.lock, error) Stdlib.result Lwt.t
val read : ?client:Qcow_locks.Client.t -> t -> Qcow_types.Cluster.t -> (contents -> ('a, error) Stdlib.result Lwt.t) -> ('a, error) Stdlib.result Lwt.t
Read the contents of the given cluster and provide them to the given function
val update : ?client:Qcow_locks.Client.t -> t -> Qcow_types.Cluster.t -> (contents -> ('a, write_error) Stdlib.result Lwt.t) -> ('a, write_error) Stdlib.result Lwt.t
Read the contents of the given cluster, transform them through the given function and write the results back to disk