mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
storage: Add flags to allow building pool during create processing
https://bugzilla.redhat.com/show_bug.cgi?id=830056 Add flags handling to the virStoragePoolCreate and virStoragePoolCreateXML API's which will allow the caller to provide the capability for the storage pool create API's to also perform a pool build during creation rather than requiring the additional buildPool step. This will allow transient pools to be defined, built, and started. The new flags are: * VIR_STORAGE_POOL_CREATE_WITH_BUILD Perform buildPool without any flags passed. * VIR_STORAGE_POOL_CREATE_WITH_BUILD_OVERWRITE Perform buildPool using VIR_STORAGE_POOL_BUILD_OVERWRITE flag. * VIR_STORAGE_POOL_CREATE_WITH_BUILD_NO_OVERWRITE Perform buildPool using VIR_STORAGE_POOL_BUILD_NO_OVERWRITE flag. It is up to the backend to handle the processing of build flags. The overwrite and no-overwrite flags are mutually exclusive. NB: This patch is loosely based upon code originally authored by Osier Yang that were not reviewed and pushed, see: https://www.redhat.com/archives/libvir-list/2012-July/msg01328.html
This commit is contained in:
@@ -57,7 +57,6 @@ typedef enum {
|
||||
# endif
|
||||
} virStoragePoolState;
|
||||
|
||||
|
||||
typedef enum {
|
||||
VIR_STORAGE_POOL_BUILD_NEW = 0, /* Regular build from scratch */
|
||||
VIR_STORAGE_POOL_BUILD_REPAIR = (1 << 0), /* Repair / reinitialize */
|
||||
@@ -71,6 +70,23 @@ typedef enum {
|
||||
VIR_STORAGE_POOL_DELETE_ZEROED = 1 << 0, /* Clear all data to zeros (slow) */
|
||||
} virStoragePoolDeleteFlags;
|
||||
|
||||
typedef enum {
|
||||
VIR_STORAGE_POOL_CREATE_NORMAL = 0,
|
||||
|
||||
/* Create the pool and perform pool build without any flags */
|
||||
VIR_STORAGE_POOL_CREATE_WITH_BUILD = 1 << 0,
|
||||
|
||||
/* Create the pool and perform pool build using the
|
||||
* VIR_STORAGE_POOL_BUILD_OVERWRITE flag. This is mutually
|
||||
* exclusive to VIR_STORAGE_POOL_CREATE_WITH_BUILD_NO_OVERWRITE */
|
||||
VIR_STORAGE_POOL_CREATE_WITH_BUILD_OVERWRITE = 1 << 1,
|
||||
|
||||
/* Create the pool and perform pool build using the
|
||||
* VIR_STORAGE_POOL_BUILD_NO_OVERWRITE flag. This is mutually
|
||||
* exclusive to VIR_STORAGE_POOL_CREATE_WITH_BUILD_OVERWRITE */
|
||||
VIR_STORAGE_POOL_CREATE_WITH_BUILD_NO_OVERWRITE = 1 << 2,
|
||||
} virStoragePoolCreateFlags;
|
||||
|
||||
typedef struct _virStoragePoolInfo virStoragePoolInfo;
|
||||
|
||||
struct _virStoragePoolInfo {
|
||||
|
||||
Reference in New Issue
Block a user