Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-03-12 Thread Max Reitz
On 2018-03-10 23:34, Eric Blake wrote:
> On 02/24/2018 09:40 AM, Max Reitz wrote:
>> Currently, we try to rewrite every occurrence of "backing": null into
>> "backing": "" in qmp_blockdev_add().  However, that breaks using the
>> same "backing": null construction in json:{} file names (which do not go
>> through qmp_blockdev_add()).  Currently, these then just behave as if
>> the option has not been specified.
>>
>> Since there is actually only one place where we evaluate the @backing
>> option to find out whether not to use a backing file, we can instead
>> just check for null there.  It doesn't matter that this changes the
>> runtime state of the option from "" to null, because nobody really does
>> anything with that runtime state anyway (except put it into qemu again,
>> but qemu doesn't care whether it's "" or null).
>>
>> And in the future, it's much better if we get it to be null in that
>> runtime state sooner than later -- see patch 7.
>>
>>
>> Note that it was Markus (who's away having a good time, I hope) who
>> proposed qobject_to(), so I guess he won't object too much to seeing the
>> concept having landed in his tree once he returns.
>> (Although he hasn't reviewed the previous iteration of this series,
>>   which included it already.)
>>
> 
> Thanks, applied to my QAPI staging tree (with qobject_to(type, obj)
> reordering - it didn't take me too long after all):
> git://repo.or.cz/qemu/ericb.git qapi
> http://repo.or.cz/qemu/ericb.git/shortlog/refs/heads/qapi

Thanks!

Max



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-03-10 Thread Eric Blake

On 02/24/2018 09:40 AM, Max Reitz wrote:

Currently, we try to rewrite every occurrence of "backing": null into
"backing": "" in qmp_blockdev_add().  However, that breaks using the
same "backing": null construction in json:{} file names (which do not go
through qmp_blockdev_add()).  Currently, these then just behave as if
the option has not been specified.

Since there is actually only one place where we evaluate the @backing
option to find out whether not to use a backing file, we can instead
just check for null there.  It doesn't matter that this changes the
runtime state of the option from "" to null, because nobody really does
anything with that runtime state anyway (except put it into qemu again,
but qemu doesn't care whether it's "" or null).

And in the future, it's much better if we get it to be null in that
runtime state sooner than later -- see patch 7.


Note that it was Markus (who's away having a good time, I hope) who
proposed qobject_to(), so I guess he won't object too much to seeing the
concept having landed in his tree once he returns.
(Although he hasn't reviewed the previous iteration of this series,
  which included it already.)



Thanks, applied to my QAPI staging tree (with qobject_to(type, obj) 
reordering - it didn't take me too long after all):

git://repo.or.cz/qemu/ericb.git qapi
http://repo.or.cz/qemu/ericb.git/shortlog/refs/heads/qapi

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-03-09 Thread Eric Blake

On 02/24/2018 09:40 AM, Max Reitz wrote:

Currently, we try to rewrite every occurrence of "backing": null into
"backing": "" in qmp_blockdev_add().  However, that breaks using the
same "backing": null construction in json:{} file names (which do not go
through qmp_blockdev_add()).  Currently, these then just behave as if
the option has not been specified.

Since there is actually only one place where we evaluate the @backing
option to find out whether not to use a backing file, we can instead
just check for null there.  It doesn't matter that this changes the
runtime state of the option from "" to null, because nobody really does
anything with that runtime state anyway (except put it into qemu again,
but qemu doesn't care whether it's "" or null).

And in the future, it's much better if we get it to be null in that
runtime state sooner than later -- see patch 7.


Note that it was Markus (who's away having a good time, I hope) who
proposed qobject_to(), so I guess he won't object too much to seeing the
concept having landed in his tree once he returns.
(Although he hasn't reviewed the previous iteration of this series,
  which included it already.)


v3:
- Added patch 1 so we can use a common macro in patch 2 (instead of
   invoking _Static_assert() directly), but still keep the explanatory
   message



This series mostly touches QAPI, so I'm probably going to include it in 
my pending qapi pull request in time for soft freeze.


--
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-02-26 Thread Max Reitz
On 2018-02-24 19:02, no-re...@patchew.org wrote:
> Hi,
> 
> This series failed build test on s390x host. Please find the details below.

[...]

> In file included from 
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/include/qemu/osdep.h:36:0,
>  from /var/tmp/patchew-tester-tmp-wr4zoy33/src/block.c:25:
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/block.c: In function 
> ‘bdrv_open_inherit’:
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/include/qemu/compiler.h:63:34: 
> error: dereferencing pointer to incomplete type ‘QNull {aka struct QNull}’
>  const typeof(((type *) 0)->member) *__mptr = (ptr); \
>   ^
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/include/qapi/qmp/qobject.h:65:5: 
> note: in expansion of macro ‘container_of’
>  container_of(qobject_check_type(obj, glue(QTYPE_CAST_TO_, type)) ?: \
>  ^~~~
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/block.c:2603:9: note: in expansion 
> of macro ‘qobject_to’
>  if (qobject_to(qdict_get(options, "backing"), QNull) != NULL ||
>  ^~
> In file included from /usr/include/sched.h:29:0,
>  from /usr/include/pthread.h:23,
>  from /usr/include/glib-2.0/glib/deprecated/gthread.h:128,
>  from /usr/include/glib-2.0/glib.h:108,
>  from 
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/include/glib-compat.h:19,
>  from 
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/include/qemu/osdep.h:107,
>  from /var/tmp/patchew-tester-tmp-wr4zoy33/src/block.c:25:
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/include/qemu/compiler.h:64:37: 
> error: invalid use of incomplete typedef ‘QNull {aka struct QNull}’
>  (type *) ((char *) __mptr - offsetof(type, member));})
>  ^
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/include/qapi/qmp/qobject.h:65:5: 
> note: in expansion of macro ‘container_of’
>  container_of(qobject_check_type(obj, glue(QTYPE_CAST_TO_, type)) ?: \
>  ^~~~
> /var/tmp/patchew-tester-tmp-wr4zoy33/src/block.c:2603:9: note: in expansion 
> of macro ‘qobject_to’
>  if (qobject_to(qdict_get(options, "backing"), QNull) != NULL ||
>  ^~

I guess I missed 6b67395762a4c8b.  Oops.

Max



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-02-26 Thread no-reply
Hi,

This series failed build test on ppcbe host. Please find the details below.

Type: series
Message-id: 20180224154033.29559-1-mre...@redhat.com
Subject: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e
echo "=== ENV ==="
env
echo "=== PACKAGES ==="
rpm -qa
echo "=== TEST BEGIN ==="
INSTALL=$PWD/install
BUILD=$PWD/build
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --prefix=$INSTALL
make -j100
# XXX: we need reliable clean up
# make check -j100 V=1
make install
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Submodule 'capstone' (git://git.qemu.org/capstone.git) registered for path 
'capstone'
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (git://git.qemu.org/QemuMacDrivers.git) 
registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (git://git.qemu-project.org/SLOF.git) registered for path 
'roms/SLOF'
Submodule 'roms/ipxe' (git://git.qemu-project.org/ipxe.git) registered for path 
'roms/ipxe'
Submodule 'roms/openbios' (git://git.qemu-project.org/openbios.git) registered 
for path 'roms/openbios'
Submodule 'roms/openhackware' (git://git.qemu-project.org/openhackware.git) 
registered for path 'roms/openhackware'
Submodule 'roms/qemu-palcode' (git://github.com/rth7680/qemu-palcode.git) 
registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (git://git.qemu-project.org/seabios.git/) registered 
for path 'roms/seabios'
Submodule 'roms/seabios-hppa' (git://github.com/hdeller/seabios-hppa.git) 
registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (git://git.qemu-project.org/sgabios.git) registered 
for path 'roms/sgabios'
Submodule 'roms/skiboot' (git://git.qemu.org/skiboot.git) registered for path 
'roms/skiboot'
Submodule 'roms/u-boot' (git://git.qemu-project.org/u-boot.git) registered for 
path 'roms/u-boot'
Submodule 'roms/vgabios' (git://git.qemu-project.org/vgabios.git/) registered 
for path 'roms/vgabios'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered 
for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out 
'22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out 
'd4e7d7ac663fcb55f1b93575445fcbca372f17a7'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 
'fa981320a1e0968d6fc1b8de319723ff8212b337'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out 
'0600d3ae94f93efd10fc6b3c7420a9557a3a1670'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out 
'54d959d97fb331708767b2fd4a878efd2bbc41bb'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 
'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out 
'f3c7e44c70254975df2a00af39701eafbac4d471'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out 
'63451fca13c75870e1703eb3e20584d91179aebc'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out 
'649e6202b8d65d46c69f542b1380f840fbe8ab13'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 
'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 
'e0ee24c27a172bcf482f6f2bc905e6211c134bcc'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 
'd85ca029f257b53a96da6c2fb421e78a003a9943'
Cloning into 'roms/vgabios'...
Submodule path 'roms/vgabios': checked out 
'19ea12c230ded95928ecaef0db47a82231c2e485'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out 
'6b3d716e2b6472eb7189d3220552280ef3d832ce'
Switched to a new branch 'test'
20aa306 block: Deprecate "backing": ""
c9e6a2d block: Handle null backing link
3a046aa qapi: Make more of qobject_to()
a51ebac qapi: Remove qobject_to_X() functions
7b78cc8 qapi: Replace qobject_to_X(o) by qobject_to(o, X)
0a96468 qapi: Add qobject_to()
0cd4496 compiler: Add QEMU_BUILD_BUG_MSG() macro

=== OUTPUT BEGIN ===
=== ENV ===
XDG_SESSION_ID=29961
SHELL=/bin/sh
USER=patchew
PATCHEW=./patchew-cli -s https://patchew.org
PATH=/usr/bin:/bin
PWD=/var/tmp/patchew-tester-tmp-8vb5f8ja/src
LANG=en_US.UTF-8
HOME=/home/patchew
SHLVL=2
LOGNAME=patchew
XDG_RUNTIME_DIR=/run/user/1000
_=/usr/bin/env
=== PACKAGES ===
telepathy-filesystem-0.0.2-6.el7.noarch
ipa-common-4.5.0-20.el7.centos.noarch
ipa-client-common-4.5.0-20.el7.centos.noarch
nhn-nanum-fonts-common-3.020-9.el7.noarch
perl-srpm-macros-1-8.el7.noarch
glibc-common-2.17-196.e

Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-02-25 Thread no-reply
Hi,

This series failed build test on ppcle host. Please find the details below.

Message-id: 20180224154033.29559-1-mre...@redhat.com
Subject: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e
echo "=== ENV ==="
env
echo "=== PACKAGES ==="
rpm -qa
echo "=== TEST BEGIN ==="
INSTALL=$PWD/install
BUILD=$PWD/build
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --prefix=$INSTALL
make -j100
# XXX: we need reliable clean up
# make check -j100 V=1
make install
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Submodule 'capstone' (git://git.qemu.org/capstone.git) registered for path 
'capstone'
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Submodule 'roms/QemuMacDrivers' (git://git.qemu.org/QemuMacDrivers.git) 
registered for path 'roms/QemuMacDrivers'
Submodule 'roms/SLOF' (git://git.qemu-project.org/SLOF.git) registered for path 
'roms/SLOF'
Submodule 'roms/ipxe' (git://git.qemu-project.org/ipxe.git) registered for path 
'roms/ipxe'
Submodule 'roms/openbios' (git://git.qemu-project.org/openbios.git) registered 
for path 'roms/openbios'
Submodule 'roms/openhackware' (git://git.qemu-project.org/openhackware.git) 
registered for path 'roms/openhackware'
Submodule 'roms/qemu-palcode' (git://github.com/rth7680/qemu-palcode.git) 
registered for path 'roms/qemu-palcode'
Submodule 'roms/seabios' (git://git.qemu-project.org/seabios.git/) registered 
for path 'roms/seabios'
Submodule 'roms/seabios-hppa' (git://github.com/hdeller/seabios-hppa.git) 
registered for path 'roms/seabios-hppa'
Submodule 'roms/sgabios' (git://git.qemu-project.org/sgabios.git) registered 
for path 'roms/sgabios'
Submodule 'roms/skiboot' (git://git.qemu.org/skiboot.git) registered for path 
'roms/skiboot'
Submodule 'roms/u-boot' (git://git.qemu-project.org/u-boot.git) registered for 
path 'roms/u-boot'
Submodule 'roms/vgabios' (git://git.qemu-project.org/vgabios.git/) registered 
for path 'roms/vgabios'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered 
for path 'ui/keycodemapdb'
Cloning into 'capstone'...
Submodule path 'capstone': checked out 
'22ead3e0bfdb87516656453336160e0a37b066bf'
Cloning into 'dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Cloning into 'roms/QemuMacDrivers'...
Submodule path 'roms/QemuMacDrivers': checked out 
'd4e7d7ac663fcb55f1b93575445fcbca372f17a7'
Cloning into 'roms/SLOF'...
Submodule path 'roms/SLOF': checked out 
'fa981320a1e0968d6fc1b8de319723ff8212b337'
Cloning into 'roms/ipxe'...
Submodule path 'roms/ipxe': checked out 
'0600d3ae94f93efd10fc6b3c7420a9557a3a1670'
Cloning into 'roms/openbios'...
Submodule path 'roms/openbios': checked out 
'54d959d97fb331708767b2fd4a878efd2bbc41bb'
Cloning into 'roms/openhackware'...
Submodule path 'roms/openhackware': checked out 
'c559da7c8eec5e45ef1f67978827af6f0b9546f5'
Cloning into 'roms/qemu-palcode'...
Submodule path 'roms/qemu-palcode': checked out 
'f3c7e44c70254975df2a00af39701eafbac4d471'
Cloning into 'roms/seabios'...
Submodule path 'roms/seabios': checked out 
'63451fca13c75870e1703eb3e20584d91179aebc'
Cloning into 'roms/seabios-hppa'...
Submodule path 'roms/seabios-hppa': checked out 
'649e6202b8d65d46c69f542b1380f840fbe8ab13'
Cloning into 'roms/sgabios'...
Submodule path 'roms/sgabios': checked out 
'cbaee52287e5f32373181cff50a00b6c4ac9015a'
Cloning into 'roms/skiboot'...
Submodule path 'roms/skiboot': checked out 
'e0ee24c27a172bcf482f6f2bc905e6211c134bcc'
Cloning into 'roms/u-boot'...
Submodule path 'roms/u-boot': checked out 
'd85ca029f257b53a96da6c2fb421e78a003a9943'
Cloning into 'roms/vgabios'...
Submodule path 'roms/vgabios': checked out 
'19ea12c230ded95928ecaef0db47a82231c2e485'
Cloning into 'ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out 
'6b3d716e2b6472eb7189d3220552280ef3d832ce'
Switched to a new branch 'test'
20aa306 block: Deprecate "backing": ""
c9e6a2d block: Handle null backing link
3a046aa qapi: Make more of qobject_to()
a51ebac qapi: Remove qobject_to_X() functions
7b78cc8 qapi: Replace qobject_to_X(o) by qobject_to(o, X)
0a96468 qapi: Add qobject_to()
0cd4496 compiler: Add QEMU_BUILD_BUG_MSG() macro

=== OUTPUT BEGIN ===
=== ENV ===
XDG_SESSION_ID=209502
SHELL=/bin/sh
USER=patchew
PATCHEW=/home/patchew/patchew/patchew-cli -s http://patchew.org --nodebug
PATH=/usr/bin:/bin
PWD=/var/tmp/patchew-tester-tmp-pczff6ou/src
LANG=en_US.UTF-8
HOME=/home/patchew
SHLVL=2
LOGNAME=patchew
XDG_RUNTIME_DIR=/run/user/1000
_=/usr/bin/env
=== PACKAGES ===
plymouth-core-libs-0.8.9-0.28.20140113.el7.centos.ppc64le
vim-common-7.4.160-2.el7.ppc64le
perl-Test-Simple-0.98-243.el7.noarch
hplip-common-3.15.9-3.el7.ppc64le
valgrind-3.12.0-8.el7.ppc64le
ga

Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-02-24 Thread no-reply
Hi,

This series failed docker-build@min-glib build test. Please find the testing 
commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

Type: series
Message-id: 20180224154033.29559-1-mre...@redhat.com
Subject: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-build@min-glib
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]   patchew/20180224201802.911-1-laur...@vivier.eu -> 
patchew/20180224201802.911-1-laur...@vivier.eu
Switched to a new branch 'test'
ae347da068 block: Deprecate "backing": ""
3342c14431 block: Handle null backing link
84a81f6c30 qapi: Make more of qobject_to()
d4231e47f1 qapi: Remove qobject_to_X() functions
1f269ff09a qapi: Replace qobject_to_X(o) by qobject_to(o, X)
7075fc4b99 qapi: Add qobject_to()
07f4ad1be0 compiler: Add QEMU_BUILD_BUG_MSG() macro

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-v9s3mez6/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
  BUILD   min-glib
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-v9s3mez6/src'
  GEN 
/var/tmp/patchew-tester-tmp-v9s3mez6/src/docker-src.2018-02-24-15.29.13.1133/qemu.tar
Cloning into 
'/var/tmp/patchew-tester-tmp-v9s3mez6/src/docker-src.2018-02-24-15.29.13.1133/qemu.tar.vroot'...
done.
Checking out files:  45% (2674/5878)   
Checking out files:  46% (2704/5878)   
Checking out files:  47% (2763/5878)   
Checking out files:  48% (2822/5878)   
Checking out files:  49% (2881/5878)   
Checking out files:  50% (2939/5878)   
Checking out files:  51% (2998/5878)   
Checking out files:  52% (3057/5878)   
Checking out files:  53% (3116/5878)   
Checking out files:  54% (3175/5878)   
Checking out files:  55% (3233/5878)   
Checking out files:  56% (3292/5878)   
Checking out files:  57% (3351/5878)   
Checking out files:  58% (3410/5878)   
Checking out files:  59% (3469/5878)   
Checking out files:  60% (3527/5878)   
Checking out files:  61% (3586/5878)   
Checking out files:  62% (3645/5878)   
Checking out files:  63% (3704/5878)   
Checking out files:  64% (3762/5878)   
Checking out files:  65% (3821/5878)   
Checking out files:  66% (3880/5878)   
Checking out files:  67% (3939/5878)   
Checking out files:  68% (3998/5878)   
Checking out files:  69% (4056/5878)   
Checking out files:  70% (4115/5878)   
Checking out files:  71% (4174/5878)   
Checking out files:  72% (4233/5878)   
Checking out files:  73% (4291/5878)   
Checking out files:  74% (4350/5878)   
Checking out files:  75% (4409/5878)   
Checking out files:  76% (4468/5878)   
Checking out files:  77% (4527/5878)   
Checking out files:  78% (4585/5878)   
Checking out files:  79% (4644/5878)   
Checking out files:  80% (4703/5878)   
Checking out files:  81% (4762/5878)   
Checking out files:  82% (4820/5878)   
Checking out files:  83% (4879/5878)   
Checking out files:  84% (4938/5878)   
Checking out files:  85% (4997/5878)   
Checking out files:  86% (5056/5878)   
Checking out files:  87% (5114/5878)   
Checking out files:  88% (5173/5878)   
Checking out files:  89% (5232/5878)   
Checking out files:  90% (5291/5878)   
Checking out files:  91% (5349/5878)   
Checking out files:  92% (5408/5878)   
Checking out files:  92% (5454/5878)   
Checking out files:  93% (5467/5878)   
Checking out files:  94% (5526/5878)   
Checking out files:  95% (5585/5878)   
Checking out files:  96% (5643/5878)   
Checking out files:  97% (5702/5878)   
Checking out files:  98% (5761/5878)   
Checking out files:  99% (5820/5878)   
Checking out files: 100% (5878/5878)   
Checking out files: 100% (5878/5878), done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into 
'/var/tmp/patchew-tester-tmp-v9s3mez6/src/docker-src.2018-02-24-15.29.13.1133/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered 
for path 'ui/keycodemapdb'
Cloning into 
'/var/tmp/patchew-tester-tmp-v9s3mez6/src/docker-src.2018-02-24-15.29.13.1133/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out 
'6b3d716e2b6472eb7189d3220552280ef3d832ce'
  COPYRUNNER
RUN test-build in qemu:min-glib 
Environment variables:
HOSTNAME=20668db02e12
MAKEFLAGS= -j8
J=8
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
SHLVL=1
HOME=/root
TEST_DIR=/tmp/qemu-test
FEATURES= dt

Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-02-24 Thread no-reply
Hi,

This series failed docker-quick@centos6 build test. Please find the testing 
commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

Type: series
Message-id: 20180224154033.29559-1-mre...@redhat.com
Subject: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-quick@centos6
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
ae347da068 block: Deprecate "backing": ""
3342c14431 block: Handle null backing link
84a81f6c30 qapi: Make more of qobject_to()
d4231e47f1 qapi: Remove qobject_to_X() functions
1f269ff09a qapi: Replace qobject_to_X(o) by qobject_to(o, X)
7075fc4b99 qapi: Add qobject_to()
07f4ad1be0 compiler: Add QEMU_BUILD_BUG_MSG() macro

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-li_k8n_s/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
  BUILD   centos6
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-li_k8n_s/src'
  GEN 
/var/tmp/patchew-tester-tmp-li_k8n_s/src/docker-src.2018-02-24-15.18.28.15352/qemu.tar
Cloning into 
'/var/tmp/patchew-tester-tmp-li_k8n_s/src/docker-src.2018-02-24-15.18.28.15352/qemu.tar.vroot'...
done.
Checking out files:  48% (2827/5878)   
Checking out files:  49% (2881/5878)   
Checking out files:  50% (2939/5878)   
Checking out files:  51% (2998/5878)   
Checking out files:  52% (3057/5878)   
Checking out files:  53% (3116/5878)   
Checking out files:  54% (3175/5878)   
Checking out files:  55% (3233/5878)   
Checking out files:  56% (3292/5878)   
Checking out files:  57% (3351/5878)   
Checking out files:  58% (3410/5878)   
Checking out files:  59% (3469/5878)   
Checking out files:  60% (3527/5878)   
Checking out files:  61% (3586/5878)   
Checking out files:  62% (3645/5878)   
Checking out files:  63% (3704/5878)   
Checking out files:  64% (3762/5878)   
Checking out files:  65% (3821/5878)   
Checking out files:  66% (3880/5878)   
Checking out files:  67% (3939/5878)   
Checking out files:  68% (3998/5878)   
Checking out files:  69% (4056/5878)   
Checking out files:  70% (4115/5878)   
Checking out files:  71% (4174/5878)   
Checking out files:  72% (4233/5878)   
Checking out files:  73% (4291/5878)   
Checking out files:  74% (4350/5878)   
Checking out files:  75% (4409/5878)   
Checking out files:  76% (4468/5878)   
Checking out files:  77% (4527/5878)   
Checking out files:  78% (4585/5878)   
Checking out files:  79% (4644/5878)   
Checking out files:  80% (4703/5878)   
Checking out files:  81% (4762/5878)   
Checking out files:  82% (4820/5878)   
Checking out files:  83% (4879/5878)   
Checking out files:  84% (4938/5878)   
Checking out files:  85% (4997/5878)   
Checking out files:  86% (5056/5878)   
Checking out files:  87% (5114/5878)   
Checking out files:  88% (5173/5878)   
Checking out files:  89% (5232/5878)   
Checking out files:  90% (5291/5878)   
Checking out files:  91% (5349/5878)   
Checking out files:  92% (5408/5878)   
Checking out files:  93% (5467/5878)   
Checking out files:  94% (5526/5878)   
Checking out files:  95% (5585/5878)   
Checking out files:  96% (5643/5878)   
Checking out files:  97% (5702/5878)   
Checking out files:  98% (5761/5878)   
Checking out files:  99% (5820/5878)   
Checking out files: 100% (5878/5878)   
Checking out files: 100% (5878/5878), done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into 
'/var/tmp/patchew-tester-tmp-li_k8n_s/src/docker-src.2018-02-24-15.18.28.15352/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered 
for path 'ui/keycodemapdb'
Cloning into 
'/var/tmp/patchew-tester-tmp-li_k8n_s/src/docker-src.2018-02-24-15.18.28.15352/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out 
'6b3d716e2b6472eb7189d3220552280ef3d832ce'
  COPYRUNNER
RUN test-quick in qemu:centos6 
Packages installed:
SDL-devel-1.2.14-7.el6_7.1.x86_64
bison-2.4.1-5.el6.x86_64
bzip2-devel-1.0.5-7.el6_0.x86_64
ccache-3.1.6-2.el6.x86_64
csnappy-devel-0-6.20150729gitd7bc683.el6.x86_64
flex-2.5.35-9.el6.x86_64
gcc-4.4.7-18.el6.x86_64
gettext-0.17-18.el6.x86_64
git-1.7.1-9.el6_9.x86_64
glib2-devel-2.28.8-9.el6.x86_64
libepoxy-devel-1.2-3.el6.x86_64
libfdt-devel-1.4.0-1.el6.x86_64
librdmacm-devel-1.0.21-0.el6.x86_64
lzo-devel-2.03-3.1.el6_5.1.x86_64
make-3.81-23.el6.x86_64
mesa-libEGL-devel-11.0.7-4.el6.x86_64
mesa-libgbm-devel-11.0.7-4.el6.x86_64
package g++ is not installed
pixman-devel-0.32.8-1.el6.x86_64
spice-glib-devel-0.2

Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-02-24 Thread no-reply
Hi,

This series failed docker-mingw@fedora build test. Please find the testing 
commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

Type: series
Message-id: 20180224154033.29559-1-mre...@redhat.com
Subject: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

=== TEST SCRIPT BEGIN ===
#!/bin/bash
set -e
git submodule update --init dtc
# Let docker tests dump environment info
export SHOW_ENV=1
export J=8
time make docker-test-mingw@fedora
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
191251e7ae block: Deprecate "backing": ""
1264694004 block: Handle null backing link
8fbce19250 qapi: Make more of qobject_to()
f21c23cfc2 qapi: Remove qobject_to_X() functions
48d64d436f qapi: Replace qobject_to_X(o) by qobject_to(o, X)
9902f9c3e4 qapi: Add qobject_to()
0b6050a86e compiler: Add QEMU_BUILD_BUG_MSG() macro

=== OUTPUT BEGIN ===
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-5eaf6ced/src/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
  BUILD   fedora
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-5eaf6ced/src'
  GEN 
/var/tmp/patchew-tester-tmp-5eaf6ced/src/docker-src.2018-02-24-14.49.44.23087/qemu.tar
Cloning into 
'/var/tmp/patchew-tester-tmp-5eaf6ced/src/docker-src.2018-02-24-14.49.44.23087/qemu.tar.vroot'...
done.
Checking out files:  45% (2701/5878)   
Checking out files:  46% (2704/5878)   
Checking out files:  47% (2763/5878)   
Checking out files:  48% (2822/5878)   
Checking out files:  49% (2881/5878)   
Checking out files:  50% (2939/5878)   
Checking out files:  51% (2998/5878)   
Checking out files:  52% (3057/5878)   
Checking out files:  53% (3116/5878)   
Checking out files:  54% (3175/5878)   
Checking out files:  55% (3233/5878)   
Checking out files:  56% (3292/5878)   
Checking out files:  57% (3351/5878)   
Checking out files:  58% (3410/5878)   
Checking out files:  59% (3469/5878)   
Checking out files:  60% (3527/5878)   
Checking out files:  61% (3586/5878)   
Checking out files:  62% (3645/5878)   
Checking out files:  63% (3704/5878)   
Checking out files:  64% (3762/5878)   
Checking out files:  65% (3821/5878)   
Checking out files:  66% (3880/5878)   
Checking out files:  67% (3939/5878)   
Checking out files:  68% (3998/5878)   
Checking out files:  69% (4056/5878)   
Checking out files:  70% (4115/5878)   
Checking out files:  71% (4174/5878)   
Checking out files:  72% (4233/5878)   
Checking out files:  73% (4291/5878)   
Checking out files:  74% (4350/5878)   
Checking out files:  75% (4409/5878)   
Checking out files:  76% (4468/5878)   
Checking out files:  77% (4527/5878)   
Checking out files:  78% (4585/5878)   
Checking out files:  79% (4644/5878)   
Checking out files:  80% (4703/5878)   
Checking out files:  81% (4762/5878)   
Checking out files:  82% (4820/5878)   
Checking out files:  83% (4879/5878)   
Checking out files:  84% (4938/5878)   
Checking out files:  85% (4997/5878)   
Checking out files:  86% (5056/5878)   
Checking out files:  87% (5114/5878)   
Checking out files:  88% (5173/5878)   
Checking out files:  89% (5232/5878)   
Checking out files:  90% (5291/5878)   
Checking out files:  91% (5349/5878)   
Checking out files:  92% (5408/5878)   
Checking out files:  93% (5467/5878)   
Checking out files:  94% (5526/5878)   
Checking out files:  95% (5585/5878)   
Checking out files:  96% (5643/5878)   
Checking out files:  97% (5702/5878)   
Checking out files:  98% (5761/5878)   
Checking out files:  99% (5820/5878)   
Checking out files: 100% (5878/5878)   
Checking out files: 100% (5878/5878), done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into 
'/var/tmp/patchew-tester-tmp-5eaf6ced/src/docker-src.2018-02-24-14.49.44.23087/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered 
for path 'ui/keycodemapdb'
Cloning into 
'/var/tmp/patchew-tester-tmp-5eaf6ced/src/docker-src.2018-02-24-14.49.44.23087/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out 
'6b3d716e2b6472eb7189d3220552280ef3d832ce'
  COPYRUNNER
RUN test-mingw in qemu:fedora 
Packages installed:
PyYAML-3.12-5.fc27.x86_64
SDL-devel-1.2.15-29.fc27.x86_64
bc-1.07.1-3.fc27.x86_64
bison-3.0.4-8.fc27.x86_64
bzip2-1.0.6-24.fc27.x86_64
ccache-3.3.5-1.fc27.x86_64
clang-5.0.1-1.fc27.x86_64
findutils-4.6.0-14.fc27.x86_64
flex-2.6.1-5.fc27.x86_64
gcc-7.3.1-2.fc27.x86_64
gcc-c++-7.3.1-2.fc27.x86_64
gettext-0.19.8.1-12.fc27.x86_64
git-2.14.3-2.fc27.x86_64
glib2-devel-2.54.3-2.fc27.x86_64
hostname-3.18-4.fc27.x86_64
libaio-devel-0.3.110-9.fc27.x86_64
libasan-7.3.1-2.fc27.x86_64
libfdt-devel-1.4.6-1.

Re: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-02-24 Thread no-reply
Hi,

This series failed build test on s390x host. Please find the details below.

Type: series
Message-id: 20180224154033.29559-1-mre...@redhat.com
Subject: [Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e
echo "=== ENV ==="
env
echo "=== PACKAGES ==="
rpm -qa
echo "=== TEST BEGIN ==="
CC=$HOME/bin/cc
INSTALL=$PWD/install
BUILD=$PWD/build
echo -n "Using CC: "
realpath $CC
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL
make -j4
# XXX: we need reliable clean up
# make check -j4 V=1
make install
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
191251e7ae block: Deprecate "backing": ""
1264694004 block: Handle null backing link
8fbce19250 qapi: Make more of qobject_to()
f21c23cfc2 qapi: Remove qobject_to_X() functions
48d64d436f qapi: Replace qobject_to_X(o) by qobject_to(o, X)
9902f9c3e4 qapi: Add qobject_to()
0b6050a86e compiler: Add QEMU_BUILD_BUG_MSG() macro

=== OUTPUT BEGIN ===
=== ENV ===
LANG=en_US.UTF-8
XDG_SESSION_ID=71140
USER=fam
PWD=/var/tmp/patchew-tester-tmp-wr4zoy33/src
HOME=/home/fam
SHELL=/bin/sh
SHLVL=2
PATCHEW=/home/fam/patchew/patchew-cli -s http://patchew.org --nodebug
LOGNAME=fam
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1012/bus
XDG_RUNTIME_DIR=/run/user/1012
PATH=/usr/bin:/bin
_=/usr/bin/env
=== PACKAGES ===
gpg-pubkey-873529b8-54e386ff
glibc-debuginfo-common-2.24-10.fc25.s390x
fedora-release-26-1.noarch
dejavu-sans-mono-fonts-2.35-4.fc26.noarch
xemacs-filesystem-21.5.34-22.20170124hgf412e9f093d4.fc26.noarch
bash-4.4.12-7.fc26.s390x
freetype-2.7.1-9.fc26.s390x
libSM-1.2.2-5.fc26.s390x
libmpc-1.0.2-6.fc26.s390x
libaio-0.3.110-7.fc26.s390x
libverto-0.2.6-7.fc26.s390x
perl-Scalar-List-Utils-1.48-1.fc26.s390x
iptables-libs-1.6.1-2.fc26.s390x
perl-threads-shared-1.57-1.fc26.s390x
p11-kit-trust-0.23.9-2.fc26.s390x
tcl-8.6.6-2.fc26.s390x
libxshmfence-1.2-4.fc26.s390x
expect-5.45-23.fc26.s390x
perl-Thread-Queue-3.12-1.fc26.noarch
perl-encoding-2.19-6.fc26.s390x
keyutils-1.5.10-1.fc26.s390x
gmp-devel-6.1.2-4.fc26.s390x
enchant-1.6.0-16.fc26.s390x
net-snmp-libs-5.7.3-17.fc26.s390x
python-gobject-base-3.24.1-1.fc26.s390x
python3-distro-1.0.3-1.fc26.noarch
python3-enchant-1.6.10-1.fc26.noarch
python-lockfile-0.11.0-6.fc26.noarch
python2-pyparsing-2.1.10-3.fc26.noarch
python2-lxml-4.1.1-1.fc26.s390x
librados2-10.2.7-2.fc26.s390x
trousers-lib-0.3.13-7.fc26.s390x
libpaper-1.1.24-14.fc26.s390x
libdatrie-0.2.9-4.fc26.s390x
libsoup-2.58.2-1.fc26.s390x
passwd-0.79-9.fc26.s390x
bind99-libs-9.9.10-3.P3.fc26.s390x
python3-rpm-4.13.0.2-1.fc26.s390x
mock-core-configs-27.4-1.fc26.noarch
systemd-233-7.fc26.s390x
virglrenderer-0.6.0-1.20170210git76b3da97b.fc26.s390x
s390utils-ziomon-1.36.1-3.fc26.s390x
s390utils-osasnmpd-1.36.1-3.fc26.s390x
libXrandr-1.5.1-2.fc26.s390x
libglvnd-glx-1.0.0-1.fc26.s390x
texlive-ifxetex-svn19685.0.5-33.fc26.2.noarch
texlive-psnfss-svn33946.9.2a-33.fc26.2.noarch
texlive-dvipdfmx-def-svn40328-33.fc26.2.noarch
texlive-natbib-svn20668.8.31b-33.fc26.2.noarch
texlive-xdvi-bin-svn40750-33.20160520.fc26.2.s390x
texlive-cm-svn32865.0-33.fc26.2.noarch
texlive-beton-svn15878.0-33.fc26.2.noarch
texlive-fpl-svn15878.1.002-33.fc26.2.noarch
texlive-mflogo-svn38628-33.fc26.2.noarch
texlive-texlive-docindex-svn41430-33.fc26.2.noarch
texlive-luaotfload-bin-svn34647.0-33.20160520.fc26.2.noarch
texlive-koma-script-svn41508-33.fc26.2.noarch
texlive-pst-tree-svn24142.1.12-33.fc26.2.noarch
texlive-breqn-svn38099.0.98d-33.fc26.2.noarch
texlive-xetex-svn41438-33.fc26.2.noarch
gstreamer1-plugins-bad-free-1.12.3-1.fc26.s390x
xorg-x11-font-utils-7.5-33.fc26.s390x
ghostscript-fonts-5.50-36.fc26.noarch
libXext-devel-1.3.3-5.fc26.s390x
libusbx-devel-1.0.21-2.fc26.s390x
libglvnd-devel-1.0.0-1.fc26.s390x
emacs-25.3-3.fc26.s390x
alsa-lib-devel-1.1.4.1-1.fc26.s390x
kbd-2.0.4-2.fc26.s390x
dconf-0.26.0-2.fc26.s390x
ccache-3.3.4-1.fc26.s390x
glibc-static-2.25-12.fc26.s390x
mc-4.8.19-5.fc26.s390x
doxygen-1.8.13-9.fc26.s390x
dpkg-1.18.24-1.fc26.s390x
libtdb-1.3.13-1.fc26.s390x
python2-pynacl-1.1.1-1.fc26.s390x
nss-sysinit-3.34.0-1.0.fc26.s390x
kernel-4.13.16-202.fc26.s390x
perl-Filter-1.58-1.fc26.s390x
python2-pip-9.0.1-11.fc26.noarch
dnf-2.7.5-2.fc26.noarch
pcre2-utf16-10.23-11.fc26.s390x
glusterfs-devel-3.10.8-1.fc26.s390x
sssd-common-1.16.0-4.fc26.s390x
python2-sssdconfig-1.16.0-4.fc26.noarch
acpica-tools-20171110-1.fc26.s390x
glibc-debuginfo-2.24-10.fc25.s390x
fedora-repos-26-1.noarch
dejavu-fonts-common-2.35-4.fc26.noarch
bind99-license-9.9.10-3.P3.fc26.noarch
ncurses-libs-6.0-8.20170212.fc26.s390x
libpng-1.6.28-2.fc26.s390x
libICE-1.0.9-9.fc26.s390x
kmod-24-1.fc26.s390x
libseccomp-2.3.2-1.fc26.s390x
perl-Text-ParseWords-3.30-366.fc26.noarch
libtool-lt

[Qemu-devel] [PATCH v3 0/7] block: Handle null backing link

2018-02-24 Thread Max Reitz
Currently, we try to rewrite every occurrence of "backing": null into
"backing": "" in qmp_blockdev_add().  However, that breaks using the
same "backing": null construction in json:{} file names (which do not go
through qmp_blockdev_add()).  Currently, these then just behave as if
the option has not been specified.

Since there is actually only one place where we evaluate the @backing
option to find out whether not to use a backing file, we can instead
just check for null there.  It doesn't matter that this changes the
runtime state of the option from "" to null, because nobody really does
anything with that runtime state anyway (except put it into qemu again,
but qemu doesn't care whether it's "" or null).

And in the future, it's much better if we get it to be null in that
runtime state sooner than later -- see patch 7.


Note that it was Markus (who's away having a good time, I hope) who
proposed qobject_to(), so I guess he won't object too much to seeing the
concept having landed in his tree once he returns.
(Although he hasn't reviewed the previous iteration of this series,
 which included it already.)


v3:
- Added patch 1 so we can use a common macro in patch 2 (instead of
  invoking _Static_assert() directly), but still keep the explanatory
  message


git-backport-diff against v1:

Key:
[] : patches are identical
[] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/7:[down] 'compiler: Add QEMU_BUILD_BUG_MSG() macro'
002/7:[0006] [FC] 'qapi: Add qobject_to()'
003/7:[] [--] 'qapi: Replace qobject_to_X(o) by qobject_to(o, X)'
004/7:[] [-C] 'qapi: Remove qobject_to_X() functions'
005/7:[] [--] 'qapi: Make more of qobject_to()'
006/7:[] [--] 'block: Handle null backing link'
007/7:[] [-C] 'block: Deprecate "backing": ""'


Max Reitz (7):
  compiler: Add QEMU_BUILD_BUG_MSG() macro
  qapi: Add qobject_to()
  qapi: Replace qobject_to_X(o) by qobject_to(o, X)
  qapi: Remove qobject_to_X() functions
  qapi: Make more of qobject_to()
  block: Handle null backing link
  block: Deprecate "backing": ""

 qapi/block-core.json|  4 +--
 include/qapi/qmp/qbool.h|  1 -
 include/qapi/qmp/qdict.h|  1 -
 include/qapi/qmp/qlist.h|  1 -
 include/qapi/qmp/qnum.h |  1 -
 include/qapi/qmp/qobject.h  | 30 +
 include/qapi/qmp/qstring.h  |  1 -
 include/qemu/compiler.h | 12 +--
 block.c | 10 --
 block/qapi.c| 12 +++
 block/rbd.c |  8 ++---
 blockdev.c  | 21 +++-
 hw/i386/acpi-build.c| 14 
 monitor.c   |  8 ++---
 qapi/qmp-dispatch.c |  2 +-
 qapi/qobject-input-visitor.c| 24 +++---
 qapi/qobject-output-visitor.c   |  4 +--
 qga/main.c  |  2 +-
 qmp.c   |  2 +-
 qobject/json-parser.c   | 13 
 qobject/qbool.c | 15 ++---
 qobject/qdict.c | 65 -
 qobject/qjson.c | 10 +++---
 qobject/qlist.c | 17 ++
 qobject/qlit.c  | 10 +++---
 qobject/qnum.c  | 17 ++
 qobject/qstring.c   | 17 ++
 qom/object.c|  8 ++---
 target/i386/cpu.c   |  2 +-
 target/s390x/cpu_models.c   |  2 +-
 tests/check-qdict.c | 20 ++--
 tests/check-qjson.c | 41 +++
 tests/check-qlist.c |  4 +--
 tests/check-qlit.c  |  2 +-
 tests/check-qnum.c  |  4 +--
 tests/check-qobject.c   |  2 +-
 tests/check-qstring.c   |  2 +-
 tests/device-introspect-test.c  | 14 
 tests/libqtest.c|  6 ++--
 tests/numa-test.c   |  8 ++---
 tests/qom-test.c|  4 +--
 tests/test-char.c   |  2 +-
 tests/test-keyval.c |  8 ++---
 tests/test-qga.c| 19 ++-
 tests/test-qmp-commands.c   | 12 +++
 tests/test-qmp-event.c  | 16 -
 tests/test-qobject-input-visitor.c  | 10 +++---
 tests/test-qobject-output-visitor.c | 54 +++---
 tests/test-x86-cpuid-compat.c   | 17 +-
 util/keyval.c   |  4 +--
 util/qemu-config.c  |  2 +-
 util/qemu-option.c  |  6 ++--
 qemu-doc.texi   |  7 
 qemu-options.hx |  4 +--
 tests/qemu-iotests/089  | 20 
 tests/qemu-iotests/089.out  |  8 +
 56