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 -> tConstruct a qcow metadata structure given a set of cluster read/write/flush operations
val set_cluster_map : t -> Qcow_cluster_map.t -> unitSet the associated cluster map (which will be updated on every cluster write)
module Refcounts : sig ... endmodule Physical : sig ... endval erase : contents -> unitSet 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.tval read : ?client:Qcow_locks.Client.t -> t -> Qcow_types.Cluster.t -> (contents -> ('a, error) Stdlib.result Lwt.t) -> ('a, error) Stdlib.result Lwt.tRead 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.tRead the contents of the given cluster, transform them through the given function and write the results back to disk