diff --git a/ChangeLog b/ChangeLog index 97acbd041a..58cb909db5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Oct 21 19:22:00 CEST 2008 Chris Lalancette + * src/storage_conf.c: Make logical pool dumpXML more idempotent with + defineXML by outputting when we are + dumping XML. We only use the longer foo when a pool has .nfreeExtent defined. + Tue Oct 21 19:18:00 CEST 2008 Chris Lalancette * src/storage_conf.c: Make sure to set errors on paths where ->formatToString() or ->formatFromString() fail. diff --git a/src/storage_conf.c b/src/storage_conf.c index 792e740ff4..2ab5467841 100644 --- a/src/storage_conf.c +++ b/src/storage_conf.c @@ -466,7 +466,7 @@ virStoragePoolDefFormat(virConnectPtr conn, virBuffer buf = VIR_BUFFER_INITIALIZER; const char *type; char uuid[VIR_UUID_STRING_BUFLEN]; - int i; + int i, j; options = virStorageBackendPoolOptionsForType(def->type); if (options == NULL) @@ -499,16 +499,19 @@ virStoragePoolDefFormat(virConnectPtr conn, if ((options->flags & VIR_STORAGE_BACKEND_POOL_SOURCE_DEVICE) && def->source.ndevice) { for (i = 0 ; i < def->source.ndevice ; i++) { - virBufferVSprintf(&buf," \n", def->source.devices[i].path); if (def->source.devices[i].nfreeExtent) { - int j; + virBufferVSprintf(&buf," \n", + def->source.devices[i].path); for (j = 0 ; j < def->source.devices[i].nfreeExtent ; j++) { virBufferVSprintf(&buf, " \n", def->source.devices[i].freeExtents[j].start, def->source.devices[i].freeExtents[j].end); } + virBufferAddLit(&buf," \n"); } - virBufferAddLit(&buf," \n"); + else + virBufferVSprintf(&buf, " \n", + def->source.devices[i].path); } } if ((options->flags & VIR_STORAGE_BACKEND_POOL_SOURCE_DIR) &&