mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 11:35:19 +00:00
34ba55e9e2
Since76b644c
when the support for RAM filesystems was introduced, libvirt accepted the following XML: <source usage='1024' unit='KiB'/> This was parsed correctly and internally stored in bytes, but it was formatted as (with an extra 's'): <source usage='1024' units='KiB'/> When read again, this was treated as if the units were missing, meaning libvirt was unable to parse its own XML correctly. The usage attribute was documented as being in KiB, but it was not scaled if the unit was missing. Transient domains still worked, because this was balanced by an extra 'k' in the mount options. This patch: Changes the parser to use 'units' instead of 'unit', as the latter was never documented (fixing persistent domains) and some programs (libvirt-glib, libvirt-sandbox) already parse the 'units' attribute. Removes the extra 'k' from the tmpfs mount options, which is needed because now we parse our own XML correctly. Changes the default input unit to KiB to match documentation, fixing: https://bugzilla.redhat.com/show_bug.cgi?id=1015689 (cherry picked from commit3f029fb531
) Conflicts: src/conf/domain_conf.c src/conf/domain_conf.h - missing format src/lxc/lxc_container.c - virAsprintf doesn't report OOM errors tests/lxcxml2xmltest.c - missing format test
14 lines
308 B
Bash
Executable File
14 lines
308 B
Bash
Executable File
#!/bin/sh
|
|
|
|
: ${srcdir=.}
|
|
. $srcdir/test-lib.sh
|
|
. $abs_srcdir/schematestutils.sh
|
|
|
|
DIRS=""
|
|
DIRS="$DIRS domainschemadata qemuxml2argvdata sexpr2xmldata"
|
|
DIRS="$DIRS xmconfigdata xml2sexprdata qemuxml2xmloutdata "
|
|
DIRS="$DIRS lxcxml2xmldata lxcxml2xmloutdata"
|
|
SCHEMA="domain.rng"
|
|
|
|
check_schema "$DIRS" "$SCHEMA"
|