Although the virStorageBackendUpdateVolTargetInfo will update the
target.physical value, there is no way to provide that information
via the virStorageGetVolInfo API since it only returns the capacity
and allocation of a volume. So as described in commit id '
0282ca45',
it should be possible to generate an output only <physical> value
for that purpose.
This patch generates the <physical> value in the volume XML output
for the sole purpose of being able to view/see the value to allow
someone to parse the XML in order to obtain the value.
Update the documentation to describe the output only nature.
Signed-off-by: John Ferlan <jferlan@redhat.com>
specified with the same semantics as for <code>allocation</code>
This is compulsory when creating a volume.
<span class="since">Since 0.4.1</span></dd>
+ <dt><code>physical</code></dt>
+ <dd>This output only element provides the host physical size of
+ the target storage volume. The default output <code>unit</code>
+ will be in bytes.
+ <span class="since">Since 3.0.0</span></dd>
<dt><code>source</code></dt>
<dd>Provides information about the underlying storage allocation
of the volume. This may not be available for some pool types.
def->target.capacity);
virBufferAsprintf(&buf, "<allocation unit='bytes'>%llu</allocation>\n",
def->target.allocation);
+ /* NB: Display only - since virStorageVolInfo is limited to just
+ * 'capacity' and 'allocation' on output. Since we don't read this
+ * in, be sure it was filled in before printing */
+ if (def->target.physical)
+ virBufferAsprintf(&buf, "<physical unit='bytes'>%llu</physical>\n",
+ def->target.physical);
if (virStorageVolTargetDefFormat(options, &buf,
&def->target, "target") < 0)