On 05/26/2015 02:58 PM, Erik Skultety wrote: > We already report error from backend (virStorageBackendCreateRaw, > virStorageBackendCreateBlockFrom), but we should also report the same > error (applies to raw formated volumes and block type volumes as > well) when creating a volume from a XML, not only from an existing > volume. > --- > src/storage/storage_driver.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c > index ac4a74a..b519011 100644 > --- a/src/storage/storage_driver.c > +++ b/src/storage/storage_driver.c > @@ -1803,6 +1803,22 @@ storageVolCreateXML(virStoragePoolPtr obj, > goto cleanup; > } > > + if (flags & VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA) { > + if (voldef->target.format == VIR_STORAGE_FILE_RAW) { > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, > + "%s", _("metadata preallocation is not supported for " > + "raw volumes")); > + goto cleanup; > + } The problem does not reside in the error itself (because other backends do check for this in virStorageBackendCreateRaw|virStorageBackendBlockFrom), rather in the way we delete volumes in RBD backend. So NACK for this, I'll post a v2. > + if (voldef->type == VIR_STORAGE_VOL_BLOCK) { > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, > + "%s", _("metadata preallocation is not supported for " > + "block volumes")); > + goto cleanup; > + } > + } > + > if (virStorageVolCreateXMLEnsureACL(obj->conn, pool->def, voldef) < 0) > goto cleanup; > > Erik -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list