qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is VXHS actually maintained?


From: Marc-André Lureau
Subject: Re: Is VXHS actually maintained?
Date: Thu, 9 Jul 2020 19:41:48 +0400

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

--
Marc-André Lureau

reply via email to

[Prev in Thread] Current Thread [Next in Thread]