ping? Tks, John (too bad this missed an internal RHEL deadline... <sigh>) On 06/15/2017 03:31 PM, John Ferlan wrote: > https://bugzilla.redhat.com/show_bug.cgi?id=1371892 > > As it turns out the volume create, build, and refresh path was not peeking > at the meta data, so immediately after a create operation the value displayed > for capacity was still incorrect. However, if a pool refresh was done the > correct value was fetched as a result of a meta data peek. > > The reason is it seems historically if the file type is RAW then peeking > at the file just took the physical value for the capacity. However, since > we know if it's an encrypted file, then peeking at the meta data will be > required in order to get a true capacity value. > > So check for encryption in the source and if present, use the meta data > in order to fill in the capacity value and set the payload_offset. > > Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> > --- > src/util/virstoragefile.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c > index e82a7fb..11c3625 100644 > --- a/src/util/virstoragefile.c > +++ b/src/util/virstoragefile.c > @@ -3446,13 +3446,16 @@ virStorageSourceUpdateCapacity(virStorageSourcePtr src, > src->format = format; > } > > - if (format == VIR_STORAGE_FILE_RAW) > + if (format == VIR_STORAGE_FILE_RAW && !src->encryption) { > src->capacity = src->physical; > - else if ((meta = virStorageFileGetMetadataFromBuf(src->path, buf, > - len, format, NULL))) > + } else if ((meta = virStorageFileGetMetadataFromBuf(src->path, buf, > + len, format, NULL))) { > src->capacity = meta->capacity ? meta->capacity : src->physical; > - else > + if (src->encryption && meta->encryption) > + src->encryption->payload_offset = meta->encryption->payload_offset; > + } else { > goto cleanup; > + } > > if (src->encryption && src->encryption->payload_offset != -1) > src->capacity -= src->encryption->payload_offset * 512; > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list