All of lore.kernel.org
 help / color / mirror / Atom feed
* Is VXHS actually maintained?
@ 2020-07-09 15:10 Marc-André Lureau
  2020-07-09 15:20 ` Thomas Huth
  0 siblings, 1 reply; 11+ messages in thread
From: Marc-André Lureau @ 2020-07-09 15:10 UTC (permalink / raw)
  To: QEMU, ashmit602; +Cc: Kevin Wolf, Max Reitz

[-- Attachment #1: Type: text/plain, Size: 392 bytes --]

Hi,

VXHS block device was added ~3y ago in commit da92c3ff60b (block/vxhs.c:
Add support for a new block device type called "vxhs"), but it doesn't
compile anymore, at least since v5.0 (I haven't checked earlier).

The upstream repository (https://github.com/VeritasHyperScale/libqnio)
hasn't received any update since then.

What should we do about it?

-- 
Marc-André Lureau

[-- Attachment #2: Type: text/html, Size: 667 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:10 Is VXHS actually maintained? Marc-André Lureau
@ 2020-07-09 15:20 ` Thomas Huth
  2020-07-09 15:25   ` Philippe Mathieu-Daudé
  2020-07-09 15:26   ` Daniel P. Berrangé
  0 siblings, 2 replies; 11+ messages in thread
From: Thomas Huth @ 2020-07-09 15:20 UTC (permalink / raw)
  To: Marc-André Lureau, QEMU, ashmit602; +Cc: Kevin Wolf, Jeff Cody, Max Reitz

On 09/07/2020 17.10, Marc-André Lureau wrote:
> Hi,
> 
> VXHS block device was added ~3y ago in commit da92c3ff60b (block/vxhs.c:
> Add support for a new block device type called "vxhs"), but it doesn't
> compile anymore, at least since v5.0 (I haven't checked earlier).
> 
> The upstream repository (https://github.com/VeritasHyperScale/libqnio)
> hasn't received any update since then.
> 
> What should we do about it?

IMHO: Mark it as deprecated in docs/system/deprecated.rst, then remove
it in two releases if nobody shows up to maintain it.

 Thomas



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:20 ` Thomas Huth
@ 2020-07-09 15:25   ` Philippe Mathieu-Daudé
  2020-07-09 15:26   ` Daniel P. Berrangé
  1 sibling, 0 replies; 11+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-07-09 15:25 UTC (permalink / raw)
  To: Thomas Huth, Marc-André Lureau, QEMU, ashmit602
  Cc: Kevin Wolf, Jeff Cody, Max Reitz

On 7/9/20 5:20 PM, Thomas Huth wrote:
> On 09/07/2020 17.10, Marc-André Lureau wrote:
>> Hi,
>>
>> VXHS block device was added ~3y ago in commit da92c3ff60b (block/vxhs.c:
>> Add support for a new block device type called "vxhs"), but it doesn't
>> compile anymore, at least since v5.0 (I haven't checked earlier).
>>
>> The upstream repository (https://github.com/VeritasHyperScale/libqnio)
>> hasn't received any update since then.
>>
>> What should we do about it?
> 
> IMHO: Mark it as deprecated in docs/system/deprecated.rst, then remove
> it in two releases if nobody shows up to maintain it.

Considering "it doesn't compile anymore", 2 releases is generous :)



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:20 ` Thomas Huth
  2020-07-09 15:25   ` Philippe Mathieu-Daudé
@ 2020-07-09 15:26   ` Daniel P. Berrangé
  2020-07-09 15:30     ` Peter Maydell
  1 sibling, 1 reply; 11+ messages in thread
From: Daniel P. Berrangé @ 2020-07-09 15:26 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Kevin Wolf, Jeff Cody, QEMU, Max Reitz, Marc-André Lureau,
	ashmit602

On Thu, Jul 09, 2020 at 05:20:58PM +0200, Thomas Huth wrote:
> On 09/07/2020 17.10, Marc-André Lureau wrote:
> > Hi,
> > 
> > VXHS block device was added ~3y ago in commit da92c3ff60b (block/vxhs.c:
> > Add support for a new block device type called "vxhs"), but it doesn't
> > compile anymore, at least since v5.0 (I haven't checked earlier).
> > 
> > The upstream repository (https://github.com/VeritasHyperScale/libqnio)
> > hasn't received any update since then.
> > 
> > What should we do about it?
> 
> IMHO: Mark it as deprecated in docs/system/deprecated.rst, then remove
> it in two releases if nobody shows up to maintain it.

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.
So depending on when it first bit-rotted, we could be justified in
deleting it right away.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:26   ` Daniel P. Berrangé
@ 2020-07-09 15:30     ` Peter Maydell
  2020-07-09 15:41       ` Marc-André Lureau
  0 siblings, 1 reply; 11+ messages in thread
From: Peter Maydell @ 2020-07-09 15:30 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Kevin Wolf, Thomas Huth, Jeff Cody, QEMU, Max Reitz,
	Marc-André Lureau, ashmit602

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?

thanks
-- PMM


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:30     ` Peter Maydell
@ 2020-07-09 15:41       ` Marc-André Lureau
  2020-07-09 15:47         ` Peter Maydell
  2020-07-09 15:50         ` Alex Bennée
  0 siblings, 2 replies; 11+ messages in thread
From: Marc-André Lureau @ 2020-07-09 15:41 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Kevin Wolf, Thomas Huth, Daniel P. Berrangé,
	Jeff Cody, QEMU, Max Reitz, ashmit602

[-- Attachment #1: Type: text/plain, Size: 15496 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 17766 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:41       ` Marc-André Lureau
@ 2020-07-09 15:47         ` Peter Maydell
  2020-07-09 15:50         ` Alex Bennée
  1 sibling, 0 replies; 11+ messages in thread
From: Peter Maydell @ 2020-07-09 15:47 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Kevin Wolf, Thomas Huth, Daniel P. Berrangé,
	Jeff Cody, QEMU, Max Reitz, ashmit602

On Thu, 9 Jul 2020 at 16:42, Marc-André Lureau
<marcandre.lureau@gmail.com> wrote:
>
> 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’

Missing include, probably. Anyway, if it's been broken like
that since 2.12 then I think we can reasonably deduce that
nobody can possibly have been using it and just remove it.

thanks
-- PMM


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:41       ` Marc-André Lureau
  2020-07-09 15:47         ` Peter Maydell
@ 2020-07-09 15:50         ` Alex Bennée
  2020-07-09 15:51           ` Peter Maydell
  1 sibling, 1 reply; 11+ messages in thread
From: Alex Bennée @ 2020-07-09 15:50 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
	Jeff Cody, QEMU, Max Reitz, ashmit602

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


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:50         ` Alex Bennée
@ 2020-07-09 15:51           ` Peter Maydell
  2020-07-09 16:02             ` Marc-André Lureau
  2020-07-09 16:25             ` Alex Bennée
  0 siblings, 2 replies; 11+ messages in thread
From: Peter Maydell @ 2020-07-09 15:51 UTC (permalink / raw)
  To: Alex Bennée
  Cc: Kevin Wolf, Thomas Huth, Daniel P. Berrangé,
	Jeff Cody, QEMU, Max Reitz, Marc-André Lureau, ashmit602

On Thu, 9 Jul 2020 at 16:50, Alex Bennée <alex.bennee@linaro.org> wrote:
> That looks more like it got missed in a clean-up series because we don't
> have coverage in our typical builds and CI?

Yes, very likely. But there's no point in fixing and then adding CI
for a config that our users have demonstrated that they do not use;
better to just remove it.

thanks
-- PMM


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:51           ` Peter Maydell
@ 2020-07-09 16:02             ` Marc-André Lureau
  2020-07-09 16:25             ` Alex Bennée
  1 sibling, 0 replies; 11+ messages in thread
From: Marc-André Lureau @ 2020-07-09 16:02 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Kevin Wolf, Thomas Huth, Daniel P. Berrangé,
	Jeff Cody, QEMU, Max Reitz, Alex Bennée, ashmit602

[-- Attachment #1: Type: text/plain, Size: 533 bytes --]

Hi

On Thu, Jul 9, 2020 at 7:52 PM Peter Maydell <peter.maydell@linaro.org>
wrote:

> On Thu, 9 Jul 2020 at 16:50, Alex Bennée <alex.bennee@linaro.org> wrote:
> > That looks more like it got missed in a clean-up series because we don't
> > have coverage in our typical builds and CI?
>
> Yes, very likely. But there's no point in fixing and then adding CI
> for a config that our users have demonstrated that they do not use;
> better to just remove it.
>

Agree, I'll send a patch then.


-- 
Marc-André Lureau

[-- Attachment #2: Type: text/html, Size: 1030 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Is VXHS actually maintained?
  2020-07-09 15:51           ` Peter Maydell
  2020-07-09 16:02             ` Marc-André Lureau
@ 2020-07-09 16:25             ` Alex Bennée
  1 sibling, 0 replies; 11+ messages in thread
From: Alex Bennée @ 2020-07-09 16:25 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Kevin Wolf, Thomas Huth, Daniel P. Berrangé,
	Jeff Cody, QEMU, Max Reitz, Marc-André Lureau, ashmit602


Peter Maydell <peter.maydell@linaro.org> writes:

> On Thu, 9 Jul 2020 at 16:50, Alex Bennée <alex.bennee@linaro.org> wrote:
>> That looks more like it got missed in a clean-up series because we don't
>> have coverage in our typical builds and CI?
>
> Yes, very likely. But there's no point in fixing and then adding CI
> for a config that our users have demonstrated that they do not use;
> better to just remove it.

Fair enough. It can always be restored from the history if someone
cares.

-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-07-09 16:25 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-09 15:10 Is VXHS actually maintained? Marc-André Lureau
2020-07-09 15:20 ` Thomas Huth
2020-07-09 15:25   ` Philippe Mathieu-Daudé
2020-07-09 15:26   ` Daniel P. Berrangé
2020-07-09 15:30     ` Peter Maydell
2020-07-09 15:41       ` Marc-André Lureau
2020-07-09 15:47         ` Peter Maydell
2020-07-09 15:50         ` Alex Bennée
2020-07-09 15:51           ` Peter Maydell
2020-07-09 16:02             ` Marc-André Lureau
2020-07-09 16:25             ` Alex Bennée

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.