Module Libvirt.Volume

module Volume: sig .. end
Module dealing with storage volumes.

type 'rw t 
Storage volume handle.
type vol_type = 
| File
| Block (*Type of a storage volume.*)
type vol_delete_flags = 
| Normal
| Zeroed (*Flags for deleting a storage volume.*)
type vol_info = {
   typ : vol_type; (*Type of storage volume.*)
   capacity : int64; (*Logical size in bytes.*)
   allocation : int64; (*Currently allocated in bytes.*)
}
val lookup_by_name : 'a Libvirt.Pool.t -> string -> 'a t
val lookup_by_key : 'a Libvirt.Connect.t -> string -> 'a t
val lookup_by_path : 'a Libvirt.Connect.t -> string -> 'a t
Look up a storage volume by name, key or path volume.
val pool_of_volume : 'a t -> 'a Libvirt.Pool.t
Get the storage pool containing this volume.
val get_name : [ `R ] t -> string
Name of the volume.
val get_key : [ `R ] t -> string
Key of the volume.
val get_path : [ `R ] t -> string
Path of the volume.
val get_info : [ `R ] t -> vol_info
Get information about the storage volume.
val get_xml_desc : [ `R ] t -> Libvirt.xml
Get the XML description.
val create_xml : [ `W ] Libvirt.Pool.t -> Libvirt.xml -> unit
Create a storage volume.
val delete : [ `W ] t -> unit
Delete a storage volume.
val free : [> `R ] t -> unit
Free a storage volume object in memory.

The storage volume object is automatically freed if it is garbage collected. This function just forces it to be freed right away.

val const : [> `R ] t -> Libvirt.ro t
const conn turns a read/write storage volume into a read-only volume. Note that the opposite operation is impossible.