Sys::Virt::StorageVol - Represent & manage a libvirt storage
volume
The "Sys::Virt::StorageVol"
module represents a storage volume managed by libvirt. A storage volume is
always associated with a containing storage pool
("Sys::Virt::StoragePool").
- my $name =
$vol->get_name()
- Returns a string with a locally unique name of the storage vol
- my $name =
$vol->get_key()
- Returns a string with a globally unique key for the storage vol
- my $name =
$vol->get_path()
- Returns a string with a locally unique file path of the storage vol
- my $xml =
$vol->get_xml_description()
- Returns an XML document containing a complete description of the storage
vol's configuration
- $vol->delete($flags)
- Immediately delete the storage volume freeing its storage resources. The
"flags" parameter indicates any special
action to be taken when deleting the volume.
- $vol->resize($newcapacity, $flags=0)
- Adjust the size of the storage volume. The
$newcapacity value semantics depend on the
$flags parameter. If
$flags specifies
"RESIZE_DELTA" then the
$newcapacity is relative to the current size. If
$flags specifies
"RESIZE_SHRINK" then the
$newcapacity value is the amount of space to
remove
- $vol->wipe($flags = 0)
- Clear the data in the storage volume to avoid future information leak. The
"flags" parameter is currently unused
and defaults to zero.
- $vol->wipe_pattern($algorithm, $flags = 0)
- Clear the data in the storage volume to avoid future information leak. The
$algorithm parameter specifies the data pattern
used to erase data, and should be one of the WIPE ALGORITHM CONSTANTS
listed later. The "flags" parameter is
currently unused and defaults to zero.
- my $info =
$vol->get_info($flags = 0)
- Retrieve live information about the storage volume. The returned
$info hash reference contains three keys.
"type" indicates whether the volume is a
file or block device. "capacity"
provides the maximum logical size of the volume.
"allocation" provides the current
physical usage of the volume. The allocation may be less than the capacity
for sparse, or grow-on-demand volumes. The allocation may also be larger
than the capacity, if there is a metadata overhead for the volume format.
$flags may take one of the values
- $vol->download($st, $offset, $length, $flags=0);
- Download data from $vol using the stream
$st. If $offset and
$length are non-zero, then restrict data to the
specified volume byte range. The $flags accept the
following values:
- Sys::Virt::StorageVol::VOL_DOWNLOAD_SPARSE_STREAM
- If this flag is is set in @flags effective
transmission of holes is enabled. This assumes using the stream
$st with combination of
"sparse_recv_all" or
"recv($flags =
VIR_STREAM_RECV_STOP_AT_HOLE)" for honouring
holes sent by server.
- $vol->upload($st, $offset, $length, $flags=0);
- Upload data to $vol using the stream
$st. If $offset and
$length are non-zero, then restrict data to the
specified volume byte range. The $flags accept the
following values:
- Sys::Virt::StorageVol::VOL_UPLOAD_SPARSE_STREAM
- If this is set in $flags effective transmission of
holes is enabled. This assumes using the stream
$st with combination of
"sparse_send_all" or
"send_hole" to preserve source file
sparseness.
The following sets of constants are useful when dealing with
storage volumes
Daniel P. Berrange <berrange@redhat.com>
Copyright (C) 2006-2009 Red Hat Copyright (C) 2006-2009 Daniel P.
Berrange
This program is free software; you can redistribute it and/or
modify it under the terms of either the GNU General Public License as
published by the Free Software Foundation (either version 2 of the License,
or at your option any later version), or, the Artistic License, as specified
in the Perl README file.
Sys::Virt, Sys::Virt::Error,
"http://libvirt.org"