mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
Allow omitting volume capacity when backing store is specified
Add VIR_VOL_XML_PARSE_OPT_CAPACITY flag to virStorageVolDefParseXML. With this flag, no error is reported when the capacity is missing if there is a backing store.
This commit is contained in:
parent
d3452a3f73
commit
813e4b7f83
@ -1260,7 +1260,8 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
|
||||
size_t i;
|
||||
int n;
|
||||
|
||||
virCheckFlags(VIR_VOL_XML_PARSE_NO_CAPACITY, NULL);
|
||||
virCheckFlags(VIR_VOL_XML_PARSE_NO_CAPACITY |
|
||||
VIR_VOL_XML_PARSE_OPT_CAPACITY, NULL);
|
||||
|
||||
options = virStorageVolOptionsForPoolType(pool->type);
|
||||
if (options == NULL)
|
||||
@ -1325,7 +1326,8 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
|
||||
if (capacity) {
|
||||
if (virStorageSize(unit, capacity, &ret->target.capacity) < 0)
|
||||
goto error;
|
||||
} else if (!(flags & VIR_VOL_XML_PARSE_NO_CAPACITY)) {
|
||||
} else if (!(flags & VIR_VOL_XML_PARSE_NO_CAPACITY) &&
|
||||
!((flags & VIR_VOL_XML_PARSE_OPT_CAPACITY) && ret->target.backingStore)) {
|
||||
virReportError(VIR_ERR_XML_ERROR, "%s", _("missing capacity element"));
|
||||
goto error;
|
||||
}
|
||||
|
@ -348,6 +348,8 @@ char *virStoragePoolDefFormat(virStoragePoolDefPtr def);
|
||||
typedef enum {
|
||||
/* do not require volume capacity at all */
|
||||
VIR_VOL_XML_PARSE_NO_CAPACITY = 1 << 0,
|
||||
/* do not require volume capacity if the volume has a backing store */
|
||||
VIR_VOL_XML_PARSE_OPT_CAPACITY = 1 << 1,
|
||||
} virStorageVolDefParseFlags;
|
||||
virStorageVolDefPtr
|
||||
virStorageVolDefParseString(virStoragePoolDefPtr pool,
|
||||
|
Loading…
x
Reference in New Issue
Block a user