* [PULL 0/6] Misc next patches
@ 2022-08-05 15:20 Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 1/6] docs: build-platforms: Clarify stance on minor releases and backports Daniel P. Berrangé
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: Daniel P. Berrangé @ 2022-08-05 15:20 UTC (permalink / raw)
To: qemu-devel
Cc: libvir-list, Beraldo Leal, Peter Maydell,
Philippe Mathieu-Daudé, Thomas Huth, Richard Henderson,
Marc-André Lureau, qemu-arm, Cornelia Huck, Gerd Hoffmann,
Daniel P. Berrangé, qemu-s390x, Alex Bennée,
David Hildenbrand, Paolo Bonzini, Wainer dos Santos Moschetta
The following changes since commit 09ed077d7fae5f825e18ff9a2004dcdd1b165edb:
Merge tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu into staging (2022-08-04 17:21:13 -0700)
are available in the Git repository at:
https://gitlab.com/berrange/qemu tags/misc-next-pull-request
for you to fetch changes up to e3fdb13e8851be570db41a50589ce82d11d61c12:
util/qemu-sockets: Replace the call to close a socket with closesocket() (2022-08-05 16:18:15 +0100)
----------------------------------------------------------------
Merge misc patches
* Display deprecation warnings in -cpu help
* Fix zerocopy IPv6 handling
* Clarify platform support policy on minor release/backports
* Fix closesocket call in error path
----------------------------------------------------------------
Andrea Bolognani (1):
docs: build-platforms: Clarify stance on minor releases and backports
Bin Meng (1):
util/qemu-sockets: Replace the call to close a socket with
closesocket()
Daniel P. Berrangé (3):
target/i386: display deprecation status in '-cpu help'
target/s390x: display deprecation status in '-cpu help'
target/arm: display deprecation status in '-cpu help'
Leonardo Bras (1):
QIOChannelSocket: Add support for MSG_ZEROCOPY + IPV6
docs/about/build-platforms.rst | 5 ++++-
io/channel-socket.c | 4 ++--
target/arm/helper.c | 7 ++++++-
target/i386/cpu.c | 5 +++++
target/s390x/cpu_models.c | 23 ++++++++++++++++++-----
util/qemu-sockets.c | 4 ++--
6 files changed, 37 insertions(+), 11 deletions(-)
--
2.37.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PULL 1/6] docs: build-platforms: Clarify stance on minor releases and backports
2022-08-05 15:20 [PULL 0/6] Misc next patches Daniel P. Berrangé
@ 2022-08-05 15:20 ` Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 2/6] QIOChannelSocket: Add support for MSG_ZEROCOPY + IPV6 Daniel P. Berrangé
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Daniel P. Berrangé @ 2022-08-05 15:20 UTC (permalink / raw)
To: qemu-devel
Cc: libvir-list, Beraldo Leal, Peter Maydell,
Philippe Mathieu-Daudé, Thomas Huth, Richard Henderson,
Marc-André Lureau, qemu-arm, Cornelia Huck, Gerd Hoffmann,
Daniel P. Berrangé, qemu-s390x, Alex Bennée,
David Hildenbrand, Paolo Bonzini, Wainer dos Santos Moschetta,
Andrea Bolognani
From: Andrea Bolognani <abologna@redhat.com>
These changes match those made in the following libvirt commits:
2ac78307af docs: Clarify our stance on backported packages
78cffd450a docs: Spell out our policy concerning minor releases
Since QEMU's platform support policy is based on libvirt's, it
makes sense to mirror these recent changes made to the latter.
The policy is not altered significantly - we're simply spelling
out some rules that were likely already being implicitly
enforced.
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
docs/about/build-platforms.rst | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index 6b8496c430..26028756d0 100644
--- a/docs/about/build-platforms.rst
+++ b/docs/about/build-platforms.rst
@@ -71,7 +71,10 @@ The project aims to support the most recent major version at all times. Support
for the previous major version will be dropped 2 years after the new major
version is released or when the vendor itself drops support, whichever comes
first. In this context, third-party efforts to extend the lifetime of a distro
-are not considered, even when they are endorsed by the vendor (eg. Debian LTS).
+are not considered, even when they are endorsed by the vendor (eg. Debian LTS);
+the same is true of repositories that contain packages backported from later
+releases (e.g. Debian backports). Within each major release, only the most
+recent minor release is considered.
For the purposes of identifying supported software versions available on Linux,
the project will look at CentOS, Debian, Fedora, openSUSE, RHEL, SLES and
--
2.37.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PULL 2/6] QIOChannelSocket: Add support for MSG_ZEROCOPY + IPV6
2022-08-05 15:20 [PULL 0/6] Misc next patches Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 1/6] docs: build-platforms: Clarify stance on minor releases and backports Daniel P. Berrangé
@ 2022-08-05 15:20 ` Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 3/6] target/i386: display deprecation status in '-cpu help' Daniel P. Berrangé
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Daniel P. Berrangé @ 2022-08-05 15:20 UTC (permalink / raw)
To: qemu-devel
Cc: libvir-list, Beraldo Leal, Peter Maydell,
Philippe Mathieu-Daudé, Thomas Huth, Richard Henderson,
Marc-André Lureau, qemu-arm, Cornelia Huck, Gerd Hoffmann,
Daniel P. Berrangé, qemu-s390x, Alex Bennée,
David Hildenbrand, Paolo Bonzini, Wainer dos Santos Moschetta,
Leonardo Bras
From: Leonardo Bras <leobras@redhat.com>
For using MSG_ZEROCOPY, there are two steps:
1 - io_writev() the packet, which enqueues the packet for sending, and
2 - io_flush(), which gets confirmation that all packets got correctly sent
Currently, if MSG_ZEROCOPY is used to send packets over IPV6, no error will
be reported in (1), but it will fail in the first time (2) happens.
This happens because (2) currently checks for cmsg_level & cmsg_type
associated with IPV4 only, before reporting any error.
Add checks for cmsg_level & cmsg_type associated with IPV6, and thus enable
support for MSG_ZEROCOPY + IPV6
Fixes: 2bc58ffc29 ("QIOChannelSocket: Implement io_writev zero copy flag & io_flush for CONFIG_LINUX")
Signed-off-by: Leonardo Bras <leobras@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
io/channel-socket.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/io/channel-socket.c b/io/channel-socket.c
index 74a936cc1f..b76dca9cc1 100644
--- a/io/channel-socket.c
+++ b/io/channel-socket.c
@@ -746,8 +746,8 @@ static int qio_channel_socket_flush(QIOChannel *ioc,
}
cm = CMSG_FIRSTHDR(&msg);
- if (cm->cmsg_level != SOL_IP &&
- cm->cmsg_type != IP_RECVERR) {
+ if (cm->cmsg_level != SOL_IP && cm->cmsg_type != IP_RECVERR &&
+ cm->cmsg_level != SOL_IPV6 && cm->cmsg_type != IPV6_RECVERR) {
error_setg_errno(errp, EPROTOTYPE,
"Wrong cmsg in errqueue");
return -1;
--
2.37.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PULL 3/6] target/i386: display deprecation status in '-cpu help'
2022-08-05 15:20 [PULL 0/6] Misc next patches Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 1/6] docs: build-platforms: Clarify stance on minor releases and backports Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 2/6] QIOChannelSocket: Add support for MSG_ZEROCOPY + IPV6 Daniel P. Berrangé
@ 2022-08-05 15:20 ` Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 4/6] target/s390x: " Daniel P. Berrangé
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Daniel P. Berrangé @ 2022-08-05 15:20 UTC (permalink / raw)
To: qemu-devel
Cc: libvir-list, Beraldo Leal, Peter Maydell,
Philippe Mathieu-Daudé, Thomas Huth, Richard Henderson,
Marc-André Lureau, qemu-arm, Cornelia Huck, Gerd Hoffmann,
Daniel P. Berrangé, qemu-s390x, Alex Bennée,
David Hildenbrand, Paolo Bonzini, Wainer dos Santos Moschetta
When the user queries CPU models via QMP there is a 'deprecated' flag
present, however, this is not done for the CLI '-cpu help' command.
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
target/i386/cpu.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 194b5a31af..1db1278a59 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -4837,6 +4837,11 @@ static void x86_cpu_list_entry(gpointer data, gpointer user_data)
desc = g_strdup_printf("%s", model_id);
}
+ if (cc->model && cc->model->cpudef->deprecation_note) {
+ g_autofree char *olddesc = desc;
+ desc = g_strdup_printf("%s (deprecated)", olddesc);
+ }
+
qemu_printf("x86 %-20s %s\n", name, desc);
}
--
2.37.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PULL 4/6] target/s390x: display deprecation status in '-cpu help'
2022-08-05 15:20 [PULL 0/6] Misc next patches Daniel P. Berrangé
` (2 preceding siblings ...)
2022-08-05 15:20 ` [PULL 3/6] target/i386: display deprecation status in '-cpu help' Daniel P. Berrangé
@ 2022-08-05 15:20 ` Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 5/6] target/arm: " Daniel P. Berrangé
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Daniel P. Berrangé @ 2022-08-05 15:20 UTC (permalink / raw)
To: qemu-devel
Cc: libvir-list, Beraldo Leal, Peter Maydell,
Philippe Mathieu-Daudé, Thomas Huth, Richard Henderson,
Marc-André Lureau, qemu-arm, Cornelia Huck, Gerd Hoffmann,
Daniel P. Berrangé, qemu-s390x, Alex Bennée,
David Hildenbrand, Paolo Bonzini, Wainer dos Santos Moschetta
When the user queries CPU models via QMP there is a 'deprecated' flag
present, however, this is not done for the CLI '-cpu help' command.
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
target/s390x/cpu_models.c | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 1a562d2801..c3a4f80633 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -334,18 +334,31 @@ const S390CPUDef *s390_find_cpu_def(uint16_t type, uint8_t gen, uint8_t ec_ga,
static void s390_print_cpu_model_list_entry(gpointer data, gpointer user_data)
{
const S390CPUClass *scc = S390_CPU_CLASS((ObjectClass *)data);
+ CPUClass *cc = CPU_CLASS(scc);
char *name = g_strdup(object_class_get_name((ObjectClass *)data));
- const char *details = "";
+ g_autoptr(GString) details = g_string_new("");
if (scc->is_static) {
- details = "(static, migration-safe)";
- } else if (scc->is_migration_safe) {
- details = "(migration-safe)";
+ g_string_append(details, "static, ");
+ }
+ if (scc->is_migration_safe) {
+ g_string_append(details, "migration-safe, ");
+ }
+ if (cc->deprecation_note) {
+ g_string_append(details, "deprecated, ");
+ }
+ if (details->len) {
+ /* cull trailing ', ' */
+ g_string_truncate(details, details->len - 2);
}
/* strip off the -s390x-cpu */
g_strrstr(name, "-" TYPE_S390_CPU)[0] = 0;
- qemu_printf("s390 %-15s %-35s %s\n", name, scc->desc, details);
+ if (details->len) {
+ qemu_printf("s390 %-15s %-35s (%s)\n", name, scc->desc, details->str);
+ } else {
+ qemu_printf("s390 %-15s %-35s\n", name, scc->desc);
+ }
g_free(name);
}
--
2.37.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PULL 5/6] target/arm: display deprecation status in '-cpu help'
2022-08-05 15:20 [PULL 0/6] Misc next patches Daniel P. Berrangé
` (3 preceding siblings ...)
2022-08-05 15:20 ` [PULL 4/6] target/s390x: " Daniel P. Berrangé
@ 2022-08-05 15:20 ` Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 6/6] util/qemu-sockets: Replace the call to close a socket with closesocket() Daniel P. Berrangé
2022-08-05 21:27 ` [PULL 0/6] Misc next patches Richard Henderson
6 siblings, 0 replies; 8+ messages in thread
From: Daniel P. Berrangé @ 2022-08-05 15:20 UTC (permalink / raw)
To: qemu-devel
Cc: libvir-list, Beraldo Leal, Peter Maydell,
Philippe Mathieu-Daudé, Thomas Huth, Richard Henderson,
Marc-André Lureau, qemu-arm, Cornelia Huck, Gerd Hoffmann,
Daniel P. Berrangé, qemu-s390x, Alex Bennée,
David Hildenbrand, Paolo Bonzini, Wainer dos Santos Moschetta
When the user queries CPU models via QMP there is a 'deprecated' flag
present, however, this is not done for the CLI '-cpu help' command.
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
target/arm/helper.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/target/arm/helper.c b/target/arm/helper.c
index e1bdc80c35..d7bc467a2a 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -8185,12 +8185,17 @@ static gint arm_cpu_list_compare(gconstpointer a, gconstpointer b)
static void arm_cpu_list_entry(gpointer data, gpointer user_data)
{
ObjectClass *oc = data;
+ CPUClass *cc = CPU_CLASS(oc);
const char *typename;
char *name;
typename = object_class_get_name(oc);
name = g_strndup(typename, strlen(typename) - strlen("-" TYPE_ARM_CPU));
- qemu_printf(" %s\n", name);
+ if (cc->deprecation_note) {
+ qemu_printf(" %s (deprecated)\n", name);
+ } else {
+ qemu_printf(" %s\n", name);
+ }
g_free(name);
}
--
2.37.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PULL 6/6] util/qemu-sockets: Replace the call to close a socket with closesocket()
2022-08-05 15:20 [PULL 0/6] Misc next patches Daniel P. Berrangé
` (4 preceding siblings ...)
2022-08-05 15:20 ` [PULL 5/6] target/arm: " Daniel P. Berrangé
@ 2022-08-05 15:20 ` Daniel P. Berrangé
2022-08-05 21:27 ` [PULL 0/6] Misc next patches Richard Henderson
6 siblings, 0 replies; 8+ messages in thread
From: Daniel P. Berrangé @ 2022-08-05 15:20 UTC (permalink / raw)
To: qemu-devel
Cc: libvir-list, Beraldo Leal, Peter Maydell,
Philippe Mathieu-Daudé, Thomas Huth, Richard Henderson,
Marc-André Lureau, qemu-arm, Cornelia Huck, Gerd Hoffmann,
Daniel P. Berrangé, qemu-s390x, Alex Bennée,
David Hildenbrand, Paolo Bonzini, Wainer dos Santos Moschetta,
Bin Meng
From: Bin Meng <bin.meng@windriver.com>
close() is a *nix function. It works on any file descriptor, and
sockets in *nix are an example of a file descriptor.
closesocket() is a Windows-specific function, which works only
specifically with sockets. Sockets on Windows do not use *nix-style
file descriptors, and socket() returns a handle to a kernel object
instead, so it must be closed with closesocket().
In QEMU there is already a logic to handle such platform difference
in os-posix.h and os-win32.h, that:
* closesocket maps to close on POSIX
* closesocket maps to a wrapper that calls the real closesocket()
on Windows
Replace the call to close a socket with closesocket() instead.
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
util/qemu-sockets.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
index 13b5b197f9..0e2298278f 100644
--- a/util/qemu-sockets.c
+++ b/util/qemu-sockets.c
@@ -487,7 +487,7 @@ int inet_connect_saddr(InetSocketAddress *saddr, Error **errp)
if (ret < 0) {
error_setg_errno(errp, errno, "Unable to set KEEPALIVE");
- close(sock);
+ closesocket(sock);
return -1;
}
}
@@ -1050,7 +1050,7 @@ static int unix_connect_saddr(UnixSocketAddress *saddr, Error **errp)
return sock;
err:
- close(sock);
+ closesocket(sock);
return -1;
}
--
2.37.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PULL 0/6] Misc next patches
2022-08-05 15:20 [PULL 0/6] Misc next patches Daniel P. Berrangé
` (5 preceding siblings ...)
2022-08-05 15:20 ` [PULL 6/6] util/qemu-sockets: Replace the call to close a socket with closesocket() Daniel P. Berrangé
@ 2022-08-05 21:27 ` Richard Henderson
6 siblings, 0 replies; 8+ messages in thread
From: Richard Henderson @ 2022-08-05 21:27 UTC (permalink / raw)
To: Daniel P. Berrangé, qemu-devel
On 8/5/22 08:20, Daniel P. Berrangé wrote:
> The following changes since commit 09ed077d7fae5f825e18ff9a2004dcdd1b165edb:
>
> Merge tag 'trivial-branch-for-7.1-pull-request' of https://gitlab.com/laurent_vivier/qemu into staging (2022-08-04 17:21:13 -0700)
>
> are available in the Git repository at:
>
> https://gitlab.com/berrange/qemu tags/misc-next-pull-request
>
> for you to fetch changes up to e3fdb13e8851be570db41a50589ce82d11d61c12:
>
> util/qemu-sockets: Replace the call to close a socket with closesocket() (2022-08-05 16:18:15 +0100)
>
> ----------------------------------------------------------------
> Merge misc patches
>
> * Display deprecation warnings in -cpu help
> * Fix zerocopy IPv6 handling
> * Clarify platform support policy on minor release/backports
> * Fix closesocket call in error path
Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/7.1 as appropriate.
r~
>
> ----------------------------------------------------------------
>
> Andrea Bolognani (1):
> docs: build-platforms: Clarify stance on minor releases and backports
>
> Bin Meng (1):
> util/qemu-sockets: Replace the call to close a socket with
> closesocket()
>
> Daniel P. Berrangé (3):
> target/i386: display deprecation status in '-cpu help'
> target/s390x: display deprecation status in '-cpu help'
> target/arm: display deprecation status in '-cpu help'
>
> Leonardo Bras (1):
> QIOChannelSocket: Add support for MSG_ZEROCOPY + IPV6
>
> docs/about/build-platforms.rst | 5 ++++-
> io/channel-socket.c | 4 ++--
> target/arm/helper.c | 7 ++++++-
> target/i386/cpu.c | 5 +++++
> target/s390x/cpu_models.c | 23 ++++++++++++++++++-----
> util/qemu-sockets.c | 4 ++--
> 6 files changed, 37 insertions(+), 11 deletions(-)
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-08-05 21:29 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-05 15:20 [PULL 0/6] Misc next patches Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 1/6] docs: build-platforms: Clarify stance on minor releases and backports Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 2/6] QIOChannelSocket: Add support for MSG_ZEROCOPY + IPV6 Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 3/6] target/i386: display deprecation status in '-cpu help' Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 4/6] target/s390x: " Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 5/6] target/arm: " Daniel P. Berrangé
2022-08-05 15:20 ` [PULL 6/6] util/qemu-sockets: Replace the call to close a socket with closesocket() Daniel P. Berrangé
2022-08-05 21:27 ` [PULL 0/6] Misc next patches Richard Henderson
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).