* 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).