[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is VXHS actually maintained?
From: |
Alex Bennée |
Subject: |
Re: Is VXHS actually maintained? |
Date: |
Thu, 09 Jul 2020 16:50:40 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Marc-André Lureau <marcandre.lureau@gmail.com> writes:
> Hi
>
> On Thu, Jul 9, 2020 at 7:30 PM Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Thu, 9 Jul 2020 at 16:27, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > If it doesn't even compile, do we even need to go through the full
> > deprecation cycle ? I tend to feel like the release where it first
> > fails to compile automatically starts the deprecation countdown.
>
> Mmm, assuming that it's "couldn't possibly compile for anybody"
> rather than "doesn't compile for me (but maybe it would be OK
> on some other host OS config)".
>
> Marc-André, what are the details of the compilation failure?
>
> I have done some release bisection.
>
> v2.11.0 compiles, v2.12.0 started failing with:
>
> CC block/vxhs.o
> /home/elmarco/src/qq/block/vxhs.c:126:1: error: variable ‘runtime_opts’ has
> initializer but incomplete type
> 126 | static QemuOptsList runtime_opts = {
> | ^~~~~~
> /home/elmarco/src/qq/block/vxhs.c:127:6: error: ‘QemuOptsList’ has no member
> named ‘name’
> 127 | .name = "vxhs",
> | ^~~~
> /home/elmarco/src/qq/block/vxhs.c:127:13: warning: excess elements in struct
> initializer
> 127 | .name = "vxhs",
> | ^~~~~~
> /home/elmarco/src/qq/block/vxhs.c:127:13: note: (near initialization for
> ‘runtime_opts’)
> /home/elmarco/src/qq/block/vxhs.c:128:6: error: ‘QemuOptsList’ has no member
> named ‘head’
> 128 | .head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
> | ^~~~
> In file included from /home/elmarco/src/qq/include/qemu/notify.h:17,
> from /home/elmarco/src/qq/include/qemu/timer.h:5,
> from /home/elmarco/src/qq/include/qemu/timed-average.h:29,
> from /home/elmarco/src/qq/include/block/accounting.h:28,
> from /home/elmarco/src/qq/include/block/block_int.h:27,
> from /home/elmarco/src/qq/block/vxhs.c:14:
> /home/elmarco/src/qq/include/qemu/queue.h:360:9: error: extra brace group at
> end of initializer
> 360 | { NULL, &(head).tqh_first }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:128:13: note: in expansion of macro
> ‘QTAILQ_HEAD_INITIALIZER’
> 128 | .head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/elmarco/src/qq/include/qemu/queue.h:360:9: note: (near initialization
> for ‘runtime_opts’)
> 360 | { NULL, &(head).tqh_first }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:128:13: note: in expansion of macro
> ‘QTAILQ_HEAD_INITIALIZER’
> 128 | .head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/elmarco/src/qq/block/vxhs.c:128:49: error: invalid use of incomplete
> typedef ‘QemuOptsList’
> 128 | .head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
> | ^
> /home/elmarco/src/qq/include/qemu/queue.h:360:19: note: in definition of
> macro ‘QTAILQ_HEAD_INITIALIZER’
> 360 | { NULL, &(head).tqh_first }
> | ^~~~
> /home/elmarco/src/qq/include/qemu/queue.h:360:9: warning: excess elements in
> struct initializer
> 360 | { NULL, &(head).tqh_first }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:128:13: note: in expansion of macro
> ‘QTAILQ_HEAD_INITIALIZER’
> 128 | .head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/elmarco/src/qq/include/qemu/queue.h:360:9: note: (near initialization
> for ‘runtime_opts’)
> 360 | { NULL, &(head).tqh_first }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:128:13: note: in expansion of macro
> ‘QTAILQ_HEAD_INITIALIZER’
> 128 | .head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/elmarco/src/qq/block/vxhs.c:129:6: error: ‘QemuOptsList’ has no member
> named ‘desc’
> 129 | .desc = {
> | ^~~~
> /home/elmarco/src/qq/block/vxhs.c:129:13: error: extra brace group at end of
> initializer
> 129 | .desc = {
> | ^
> /home/elmarco/src/qq/block/vxhs.c:129:13: note: (near initialization for
> ‘runtime_opts’)
> /home/elmarco/src/qq/block/vxhs.c:130:9: error: extra brace group at end of
> initializer
> 130 | {
> | ^
> /home/elmarco/src/qq/block/vxhs.c:130:9: note: (near initialization for
> ‘runtime_opts’)
> /home/elmarco/src/qq/block/vxhs.c:132:21: error: ‘QEMU_OPT_STRING’ undeclared
> here (not in a function)
> 132 | .type = QEMU_OPT_STRING,
> | ^~~~~~~~~~~~~~~
> /home/elmarco/src/qq/block/vxhs.c:135:9: error: extra brace group at end of
> initializer
> 135 | {
> | ^
> /home/elmarco/src/qq/block/vxhs.c:135:9: note: (near initialization for
> ‘runtime_opts’)
> /home/elmarco/src/qq/block/vxhs.c:140:9: error: extra brace group at end of
> initializer
> 140 | {
> | ^
> /home/elmarco/src/qq/block/vxhs.c:140:9: note: (near initialization for
> ‘runtime_opts’)
> /home/elmarco/src/qq/block/vxhs.c:145:9: error: extra brace group at end of
> initializer
> 145 | { /* end of list */ }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:145:9: note: (near initialization for
> ‘runtime_opts’)
> /home/elmarco/src/qq/block/vxhs.c:129:13: warning: excess elements in struct
> initializer
> 129 | .desc = {
> | ^
> /home/elmarco/src/qq/block/vxhs.c:129:13: note: (near initialization for
> ‘runtime_opts’)
> /home/elmarco/src/qq/block/vxhs.c:149:1: error: variable ‘runtime_tcp_opts’
> has initializer but incomplete type
> 149 | static QemuOptsList runtime_tcp_opts = {
> | ^~~~~~
> /home/elmarco/src/qq/block/vxhs.c:150:6: error: ‘QemuOptsList’ has no member
> named ‘name’
> 150 | .name = "vxhs_tcp",
> | ^~~~
> /home/elmarco/src/qq/block/vxhs.c:150:13: warning: excess elements in struct
> initializer
> 150 | .name = "vxhs_tcp",
> | ^~~~~~~~~~
> /home/elmarco/src/qq/block/vxhs.c:150:13: note: (near initialization for
> ‘runtime_tcp_opts’)
> /home/elmarco/src/qq/block/vxhs.c:151:6: error: ‘QemuOptsList’ has no member
> named ‘head’
> 151 | .head = QTAILQ_HEAD_INITIALIZER(runtime_tcp_opts.head),
> | ^~~~
> In file included from /home/elmarco/src/qq/include/qemu/notify.h:17,
> from /home/elmarco/src/qq/include/qemu/timer.h:5,
> from /home/elmarco/src/qq/include/qemu/timed-average.h:29,
> from /home/elmarco/src/qq/include/block/accounting.h:28,
> from /home/elmarco/src/qq/include/block/block_int.h:27,
> from /home/elmarco/src/qq/block/vxhs.c:14:
> /home/elmarco/src/qq/include/qemu/queue.h:360:9: error: extra brace group at
> end of initializer
> 360 | { NULL, &(head).tqh_first }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:151:13: note: in expansion of macro
> ‘QTAILQ_HEAD_INITIALIZER’
> 151 | .head = QTAILQ_HEAD_INITIALIZER(runtime_tcp_opts.head),
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/elmarco/src/qq/include/qemu/queue.h:360:9: note: (near initialization
> for ‘runtime_tcp_opts’)
> 360 | { NULL, &(head).tqh_first }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:151:13: note: in expansion of macro
> ‘QTAILQ_HEAD_INITIALIZER’
> 151 | .head = QTAILQ_HEAD_INITIALIZER(runtime_tcp_opts.head),
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/elmarco/src/qq/block/vxhs.c:151:53: error: invalid use of incomplete
> typedef ‘QemuOptsList’
> 151 | .head = QTAILQ_HEAD_INITIALIZER(runtime_tcp_opts.head),
> | ^
> /home/elmarco/src/qq/include/qemu/queue.h:360:19: note: in definition of
> macro ‘QTAILQ_HEAD_INITIALIZER’
> 360 | { NULL, &(head).tqh_first }
> | ^~~~
> /home/elmarco/src/qq/include/qemu/queue.h:360:9: warning: excess elements in
> struct initializer
> 360 | { NULL, &(head).tqh_first }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:151:13: note: in expansion of macro
> ‘QTAILQ_HEAD_INITIALIZER’
> 151 | .head = QTAILQ_HEAD_INITIALIZER(runtime_tcp_opts.head),
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/elmarco/src/qq/include/qemu/queue.h:360:9: note: (near initialization
> for ‘runtime_tcp_opts’)
> 360 | { NULL, &(head).tqh_first }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:151:13: note: in expansion of macro
> ‘QTAILQ_HEAD_INITIALIZER’
> 151 | .head = QTAILQ_HEAD_INITIALIZER(runtime_tcp_opts.head),
> | ^~~~~~~~~~~~~~~~~~~~~~~
> /home/elmarco/src/qq/block/vxhs.c:152:6: error: ‘QemuOptsList’ has no member
> named ‘desc’
> 152 | .desc = {
> | ^~~~
> /home/elmarco/src/qq/block/vxhs.c:152:13: error: extra brace group at end of
> initializer
> 152 | .desc = {
> | ^
> /home/elmarco/src/qq/block/vxhs.c:152:13: note: (near initialization for
> ‘runtime_tcp_opts’)
> /home/elmarco/src/qq/block/vxhs.c:153:9: error: extra brace group at end of
> initializer
> 153 | {
> | ^
> /home/elmarco/src/qq/block/vxhs.c:153:9: note: (near initialization for
> ‘runtime_tcp_opts’)
> /home/elmarco/src/qq/block/vxhs.c:158:9: error: extra brace group at end of
> initializer
> 158 | {
> | ^
> /home/elmarco/src/qq/block/vxhs.c:158:9: note: (near initialization for
> ‘runtime_tcp_opts’)
> /home/elmarco/src/qq/block/vxhs.c:160:21: error: ‘QEMU_OPT_NUMBER’ undeclared
> here (not in a function)
> 160 | .type = QEMU_OPT_NUMBER,
> | ^~~~~~~~~~~~~~~
> /home/elmarco/src/qq/block/vxhs.c:164:9: error: extra brace group at end of
> initializer
> 164 | { /* end of list */ }
> | ^
> /home/elmarco/src/qq/block/vxhs.c:164:9: note: (near initialization for
> ‘runtime_tcp_opts’)
> /home/elmarco/src/qq/block/vxhs.c:152:13: warning: excess elements in struct
> initializer
> 152 | .desc = {
> | ^
> /home/elmarco/src/qq/block/vxhs.c:152:13: note: (near initialization for
> ‘runtime_tcp_opts’)
> /home/elmarco/src/qq/block/vxhs.c: In function ‘vxhs_open’:
> /home/elmarco/src/qq/block/vxhs.c:309:12: warning: implicit declaration of
> function ‘qemu_opts_create’; did you mean ‘qbus_create’?
> [-Wimplicit-function-declaration]
> 309 | opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort);
> | ^~~~~~~~~~~~~~~~
> | qbus_create
> /home/elmarco/src/qq/block/vxhs.c:309:12: warning: nested extern declaration
> of ‘qemu_opts_create’ [-Wnested-externs]
> /home/elmarco/src/qq/block/vxhs.c:309:10: warning: assignment to ‘QemuOpts *’
> from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
> 309 | opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort);
> | ^
> /home/elmarco/src/qq/block/vxhs.c:310:14: warning: assignment to ‘QemuOpts *’
> from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
> 310 | tcp_opts = qemu_opts_create(&runtime_tcp_opts, NULL, 0,
> &error_abort);
> | ^
> /home/elmarco/src/qq/block/vxhs.c:312:5: warning: implicit declaration of
> function ‘qemu_opts_absorb_qdict’ [-Wimplicit-function-declaration]
> 312 | qemu_opts_absorb_qdict(opts, options, &local_err);
> | ^~~~~~~~~~~~~~~~~~~~~~
> /home/elmarco/src/qq/block/vxhs.c:312:5: warning: nested extern declaration
> of ‘qemu_opts_absorb_qdict’ [-Wnested-externs]
> /home/elmarco/src/qq/block/vxhs.c:319:20: warning: implicit declaration of
> function ‘qemu_opt_get’; did you mean ‘qemu_aio_get’?
> [-Wimplicit-function-declaration]
> 319 | vdisk_id_opt = qemu_opt_get(opts, VXHS_OPT_VDISK_ID);
> | ^~~~~~~~~~~~
> | qemu_aio_get
> /home/elmarco/src/qq/block/vxhs.c:319:20: warning: nested extern declaration
> of ‘qemu_opt_get’ [-Wnested-externs]
> /home/elmarco/src/qq/block/vxhs.c:319:18: warning: assignment to ‘const char
> *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
> 319 | vdisk_id_opt = qemu_opt_get(opts, VXHS_OPT_VDISK_ID);
> | ^
> /home/elmarco/src/qq/block/vxhs.c:346:21: warning: assignment to ‘const char
> *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
> 346 | server_host_opt = qemu_opt_get(tcp_opts, VXHS_OPT_HOST);
> | ^
> /home/elmarco/src/qq/block/vxhs.c:362:30: warning: passing argument 1 of
> ‘g_strdup’ makes pointer from integer without a cast [-Wint-conversion]
> 362 | s->tlscredsid = g_strdup(qemu_opt_get(opts, "tls-creds"));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | |
> | int
> In file included from /usr/local/stow/glib/include/glib-2.0/glib.h:82,
> from /home/elmarco/src/qq/include/glib-compat.h:19,
> from /home/elmarco/src/qq/include/qemu/osdep.h:107,
> from /home/elmarco/src/qq/block/vxhs.c:11:
> /usr/local/stow/glib/include/glib-2.0/glib/gstrfuncs.h:217:52: note: expected
> ‘const gchar *’ {aka ‘const char *’} but argument is of type ‘int’
> 217 | gchar* g_strdup (const gchar *str) G_GNUC_MALLOC;
> | ~~~~~~~~~~~~~^~~
> /home/elmarco/src/qq/block/vxhs.c:374:46: warning: passing argument 1 of
> ‘g_ascii_strtoll’ makes pointer from integer without a cast [-Wint-conversion]
> 374 | s->vdisk_hostinfo.port = g_ascii_strtoll(qemu_opt_get(tcp_opts,
> | ^~~~~~~~~~~~~~~~~~~~~~
> | |
> | int
> 375 |
> VXHS_OPT_PORT),
> |
> ~~~~~~~~~~~~~~
> In file included from /usr/local/stow/glib/include/glib-2.0/glib.h:82,
> from /home/elmarco/src/qq/include/glib-compat.h:19,
> from /home/elmarco/src/qq/include/qemu/osdep.h:107,
> from /home/elmarco/src/qq/block/vxhs.c:11:
> /usr/local/stow/glib/include/glib-2.0/glib/gstrfuncs.h:157:46: note: expected
> ‘const gchar *’ {aka ‘const char *’} but argument is of type ‘int’
> 157 | gint64 g_ascii_strtoll (const gchar *nptr,
> | ~~~~~~~~~~~~~^~~~
> /home/elmarco/src/qq/block/vxhs.c:400:5: warning: implicit declaration of
> function ‘qemu_opts_del’; did you mean ‘qemu_open’?
> [-Wimplicit-function-declaration]
> 400 | qemu_opts_del(tcp_opts);
> | ^~~~~~~~~~~~~
> | qemu_open
> /home/elmarco/src/qq/block/vxhs.c:400:5: warning: nested extern declaration
> of ‘qemu_opts_del’ [-Wnested-externs]
> /home/elmarco/src/qq/block/vxhs.c: At top level:
> /home/elmarco/src/qq/block/vxhs.c:126:21: error: storage size of
> ‘runtime_opts’ isn’t known
> 126 | static QemuOptsList runtime_opts = {
> | ^~~~~~~~~~~~
> /home/elmarco/src/qq/block/vxhs.c:149:21: error: storage size of
> ‘runtime_tcp_opts’ isn’t known
> 149 | static QemuOptsList runtime_tcp_opts = {
> | ^~~~~~~~~~~~~~~~
> make: *** [/home/elmarco/src/qq/rules.mak:66: block/vxhs.o] Error 1
That looks more like it got missed in a clean-up series because we don't
have coverage in our typical builds and CI?
--
Alex Bennée
- Is VXHS actually maintained?, Marc-André Lureau, 2020/07/09
- Re: Is VXHS actually maintained?, Thomas Huth, 2020/07/09
- Re: Is VXHS actually maintained?, Philippe Mathieu-Daudé, 2020/07/09
- Re: Is VXHS actually maintained?, Daniel P . Berrangé, 2020/07/09
- Re: Is VXHS actually maintained?, Peter Maydell, 2020/07/09
- Re: Is VXHS actually maintained?, Marc-André Lureau, 2020/07/09
- Re: Is VXHS actually maintained?, Peter Maydell, 2020/07/09
- Re: Is VXHS actually maintained?,
Alex Bennée <=
- Re: Is VXHS actually maintained?, Peter Maydell, 2020/07/09
- Re: Is VXHS actually maintained?, Marc-André Lureau, 2020/07/09
- Re: Is VXHS actually maintained?, Alex Bennée, 2020/07/09