Provided by: libsys-virt-perl_0.9.7-2_amd64 bug


       Sys::Virt::StoragePool - Represent & manage a libvirt storage pool


       The "Sys::Virt::StoragePool" module represents a storage pool managed by libvirt. There
       are a variety of storage pool implementations for LVM, Local directories/filesystems,
       network filesystems, disk partitioning, iSCSI, and SCSI.


       my $uuid = $pool->get_uuid()
           Returns a 16 byte long string containing the raw globally unique identifier (UUID) for
           the storage pool.

       my $uuid = $pool->get_uuid_string()
           Returns a printable string representation of the raw UUID, in the format

       my $name = $pool->get_name()
           Returns a string with a locally unique name of the storage pool

           Returns a true value if the storage pool is currently running

           Returns a true value if the storage pool has a persistent configuration file defined

       my $xml = $pool->get_xml_description()
           Returns an XML document containing a complete description of the storage pool's

           Start a storage pool whose configuration was previously defined using the
           "define_storage_pool" method in Sys::Virt.

           Remove the configuration associated with a storage pool previously defined with the
           "define_storage pool" method in Sys::Virt. If the storage pool is running, you
           probably want to use the "shutdown" or "destroy" methods instead.

           Immediately terminate the machine, and remove it from the virtual machine monitor. The
           $pool handle is invalid after this call completes and should not be used again.

       $flag = $pool->get_autostart();
           Return a true value if the storage pool is configured to automatically start upon
           boot. Return false, otherwise

           Set the state of the autostart flag, which determines whether the storage pool will
           automatically start upon boot of the host OS

           Refresh the storage pool state. Typically this will rescan the list of storage
           volumes. The $flags parameter is currently unused and if omitted defaults to zero.

           Construct the storage pool if it does not exist. As an example, for a disk based
           storage pool this would ensure a partition table exists.  The $flags parameter allows
           control over the build operation and if omitted defaults to zero.

           Delete the storage pool. The $flags parameter allows the data to be optionally wiped
           during delete and if omitted defaults to zero.

       %info = $pool->get_info()
           Retrieve information about the current storage pool state. The returned hash has the
           following keys

               The current status of the storage pool. See constants later.

               The total logical size of the storage pool

               The current physical allocation of the storage pool

               The available space for creation of new volumes. This may be less than the
               difference between capacity & allocation if there are sizing / metadata
               constraints for volumes

       my $nnames = $pool->num_of_storage_volumes()
           Return the number of running volumes in this storage pool. The value can be used as
           the "maxnames" parameter to "list_storage_vol_names".

       my @volNames = $pool->list_storage_vol_names($maxnames)
           Return a list of all volume names in this storage pool. The names can be used with the
           "get_volume_by_name" method.

       my @nets = $pool->list_volumes()
           Return a list of all volumes in the storage pool.  The elements in the returned list
           are instances of the Sys::Virt::StorageVol class.

       my $vol = $pool->get_volume_by_name($name)
           Return the volume with a name of $name. The returned object is an instance of the
           Sys::Virt::StorageVol class.

       my $vol = $pool->create_volume($xml)
           Create a new volume based on the XML description passed into the $xml parameter. The
           returned object is an instance of the Sys::Virt::StorageVol class. If the optional
           "clonevol" is provided, data will be copied from that source volume

       my $vol = $pool->clone_volume($xml, $clonevol);
           Create a new volume based on the XML description passed into the $xml parameter. The
           returned object is an instance of the Sys::Virt::StorageVol class. The new volume will
           be populated with data from the specified clone source volume.


       The following sets of constants may be useful in dealing with some of the methods in this

       The following constants are useful for interpreting the "state" key value in the hash
       returned by "get_info"

           The storage pool is not currently active

           The storage pool is still being constructed and is not ready for use yet.

           The storage pool is running and can be queried for volumes

           The storage pool is running, but its operation is degraded due to a failure.

           Delete the pool without any attempt to scrub data

           Fill the allocated storage with zeros when deleting

           Construct a new storage pool from constituent bits

           Resize an existing built storage pool preserving data where appropriate

           Repair an existing storage pool operating in degraded mode

           Do not overwrite existing storage pool data

           Overwrite existing storage pool data


       Daniel P. Berrange <>


       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, ""