qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 0/4] chardev patches & a small audio fix
@ 2022-09-02 13:14 marcandre.lureau
  2022-09-02 13:14 ` [PULL 1/4] util/qemu-sockets: Enable unix socket support on Windows marcandre.lureau
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: marcandre.lureau @ 2022-09-02 13:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P. Berrangé, bin.meng, Marc-André Lureau,
	Gerd Hoffmann, Stefan Weil, Paolo Bonzini

From: Marc-André Lureau <marcandre.lureau@redhat.com>

The following changes since commit 93fac696d241dccb04ebb9d23da55fc1e9d8ee36:

  Open 7.2 development tree (2022-08-30 09:40:41 -0700)

are available in the Git repository at:

  git@gitlab.com:marcandre.lureau/qemu.git tags/char-pull-request

for you to fetch changes up to 0f957c53c84d655f2e99677d407cf2bbe1832de4:

  audio: exit(1) if audio backend failed to be found or initialized (2022-09-02 15:54:47 +0400)

----------------------------------------------------------------
chardev patches & small audio fix

----------------------------------------------------------------

Bin Meng (3):
  util/qemu-sockets: Enable unix socket support on Windows
  chardev/char-socket: Update AF_UNIX for Windows
  tests/unit: Update test-io-channel-socket.c for Windows

Marc-André Lureau (1):
  audio: exit(1) if audio backend failed to be found or initialized

 meson.build                         |  3 +++
 audio/audio.h                       |  2 +-
 include/sysemu/os-win32.h           | 17 +++++++++++++
 tests/unit/socket-helpers.h         |  9 +++++++
 audio/audio.c                       | 14 ++++++++---
 chardev/char-socket.c               |  4 ++--
 softmmu/vl.c                        |  4 +++-
 tests/unit/socket-helpers.c         | 16 +++++++++++++
 tests/unit/test-io-channel-socket.c | 37 ++++++++++++++++++-----------
 util/qemu-sockets.c                 | 25 -------------------
 10 files changed, 85 insertions(+), 46 deletions(-)

-- 
2.37.2



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

* [PULL 1/4] util/qemu-sockets: Enable unix socket support on Windows
  2022-09-02 13:14 [PULL 0/4] chardev patches & a small audio fix marcandre.lureau
@ 2022-09-02 13:14 ` marcandre.lureau
  2022-09-02 13:14 ` [PULL 2/4] chardev/char-socket: Update AF_UNIX for Windows marcandre.lureau
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: marcandre.lureau @ 2022-09-02 13:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P. Berrangé, bin.meng, Marc-André Lureau,
	Gerd Hoffmann, Stefan Weil, Paolo Bonzini, Xuzhou Cheng

From: Bin Meng <bin.meng@windriver.com>

Support for the unix socket has existed both in BSD and Linux for the
longest time, but not on Windows. Since Windows 10 build 17063 [1],
the native support for the unix socket has come to Windows. Starting
this build, two Win32 processes can use the AF_UNIX address family
over Winsock API to communicate with each other.

[1] https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/

Signed-off-by: Xuzhou Cheng <xuzhou.cheng@windriver.com>
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20220802075200.907360-3-bmeng.cn@gmail.com>
---
 meson.build               |  3 +++
 include/sysemu/os-win32.h | 17 +++++++++++++++++
 util/qemu-sockets.c       | 25 -------------------------
 3 files changed, 20 insertions(+), 25 deletions(-)

diff --git a/meson.build b/meson.build
index 20fddbd707..169b18a279 100644
--- a/meson.build
+++ b/meson.build
@@ -1890,6 +1890,9 @@ config_host_data.set('HAVE_PTY_H', cc.has_header('pty.h'))
 config_host_data.set('HAVE_SYS_DISK_H', cc.has_header('sys/disk.h'))
 config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_header('sys/ioccom.h'))
 config_host_data.set('HAVE_SYS_KCOV_H', cc.has_header('sys/kcov.h'))
+if targetos == 'windows'
+  config_host_data.set('HAVE_AFUNIX_H', cc.has_header('afunix.h'))
+endif
 
 # has_function
 config_host_data.set('CONFIG_ACCEPT4', cc.has_function('accept4'))
diff --git a/include/sysemu/os-win32.h b/include/sysemu/os-win32.h
index edc3b38a57..5b38c7bd04 100644
--- a/include/sysemu/os-win32.h
+++ b/include/sysemu/os-win32.h
@@ -30,6 +30,23 @@
 #include <windows.h>
 #include <ws2tcpip.h>
 
+#ifdef HAVE_AFUNIX_H
+#include <afunix.h>
+#else
+/*
+ * Fallback definitions of things we need in afunix.h, if not available from
+ * the used Windows SDK or MinGW headers.
+ */
+#define UNIX_PATH_MAX 108
+
+typedef struct sockaddr_un {
+    ADDRESS_FAMILY sun_family;
+    char sun_path[UNIX_PATH_MAX];
+} SOCKADDR_UN, *PSOCKADDR_UN;
+
+#define SIO_AF_UNIX_GETPEERPID _WSAIOR(IOC_VENDOR, 256)
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
index 0e2298278f..83f4bd6fd2 100644
--- a/util/qemu-sockets.c
+++ b/util/qemu-sockets.c
@@ -880,8 +880,6 @@ static int vsock_parse(VsockSocketAddress *addr, const char *str,
 }
 #endif /* CONFIG_AF_VSOCK */
 
-#ifndef _WIN32
-
 static bool saddr_is_abstract(UnixSocketAddress *saddr)
 {
 #ifdef CONFIG_LINUX
@@ -1054,25 +1052,6 @@ static int unix_connect_saddr(UnixSocketAddress *saddr, Error **errp)
     return -1;
 }
 
-#else
-
-static int unix_listen_saddr(UnixSocketAddress *saddr,
-                             int num,
-                             Error **errp)
-{
-    error_setg(errp, "unix sockets are not available on windows");
-    errno = ENOTSUP;
-    return -1;
-}
-
-static int unix_connect_saddr(UnixSocketAddress *saddr, Error **errp)
-{
-    error_setg(errp, "unix sockets are not available on windows");
-    errno = ENOTSUP;
-    return -1;
-}
-#endif
-
 /* compatibility wrapper */
 int unix_listen(const char *str, Error **errp)
 {
@@ -1335,7 +1314,6 @@ socket_sockaddr_to_address_inet(struct sockaddr_storage *sa,
 }
 
 
-#ifndef WIN32
 static SocketAddress *
 socket_sockaddr_to_address_unix(struct sockaddr_storage *sa,
                                 socklen_t salen,
@@ -1362,7 +1340,6 @@ socket_sockaddr_to_address_unix(struct sockaddr_storage *sa,
     addr->u.q_unix.path = g_strndup(su->sun_path, salen);
     return addr;
 }
-#endif /* WIN32 */
 
 #ifdef CONFIG_AF_VSOCK
 static SocketAddress *
@@ -1394,10 +1371,8 @@ socket_sockaddr_to_address(struct sockaddr_storage *sa,
     case AF_INET6:
         return socket_sockaddr_to_address_inet(sa, salen, errp);
 
-#ifndef WIN32
     case AF_UNIX:
         return socket_sockaddr_to_address_unix(sa, salen, errp);
-#endif /* WIN32 */
 
 #ifdef CONFIG_AF_VSOCK
     case AF_VSOCK:
-- 
2.37.2



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

* [PULL 2/4] chardev/char-socket: Update AF_UNIX for Windows
  2022-09-02 13:14 [PULL 0/4] chardev patches & a small audio fix marcandre.lureau
  2022-09-02 13:14 ` [PULL 1/4] util/qemu-sockets: Enable unix socket support on Windows marcandre.lureau
@ 2022-09-02 13:14 ` marcandre.lureau
  2022-09-02 13:14 ` [PULL 3/4] tests/unit: Update test-io-channel-socket.c " marcandre.lureau
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: marcandre.lureau @ 2022-09-02 13:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P. Berrangé, bin.meng, Marc-André Lureau,
	Gerd Hoffmann, Stefan Weil, Paolo Bonzini

From: Bin Meng <bin.meng@windriver.com>

Now that AF_UNIX has come to Windows, update the existing logic in
qemu_chr_compute_filename() and qmp_chardev_open_socket() for Windows.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20220802075200.907360-4-bmeng.cn@gmail.com>
---
 chardev/char-socket.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index dc4e218eeb..879564aa8a 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -557,12 +557,10 @@ static char *qemu_chr_compute_filename(SocketChardev *s)
     const char *left = "", *right = "";
 
     switch (ss->ss_family) {
-#ifndef _WIN32
     case AF_UNIX:
         return g_strdup_printf("unix:%s%s",
                                ((struct sockaddr_un *)(ss))->sun_path,
                                s->is_listen ? ",server=on" : "");
-#endif
     case AF_INET6:
         left  = "[";
         right = "]";
@@ -1372,10 +1370,12 @@ static void qmp_chardev_open_socket(Chardev *chr,
     }
 
     qemu_chr_set_feature(chr, QEMU_CHAR_FEATURE_RECONNECTABLE);
+#ifndef _WIN32
     /* TODO SOCKET_ADDRESS_FD where fd has AF_UNIX */
     if (addr->type == SOCKET_ADDRESS_TYPE_UNIX) {
         qemu_chr_set_feature(chr, QEMU_CHAR_FEATURE_FD_PASS);
     }
+#endif
 
     /*
      * In the chardev-change special-case, we shouldn't register a new yank
-- 
2.37.2



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

* [PULL 3/4] tests/unit: Update test-io-channel-socket.c for Windows
  2022-09-02 13:14 [PULL 0/4] chardev patches & a small audio fix marcandre.lureau
  2022-09-02 13:14 ` [PULL 1/4] util/qemu-sockets: Enable unix socket support on Windows marcandre.lureau
  2022-09-02 13:14 ` [PULL 2/4] chardev/char-socket: Update AF_UNIX for Windows marcandre.lureau
@ 2022-09-02 13:14 ` marcandre.lureau
  2022-09-02 13:14 ` [PULL 4/4] audio: exit(1) if audio backend failed to be found or initialized marcandre.lureau
  2022-09-02 15:27 ` [PULL 0/4] chardev patches & a small audio fix Stefan Hajnoczi
  4 siblings, 0 replies; 7+ messages in thread
From: marcandre.lureau @ 2022-09-02 13:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P. Berrangé, bin.meng, Marc-André Lureau,
	Gerd Hoffmann, Stefan Weil, Paolo Bonzini

From: Bin Meng <bin.meng@windriver.com>

Change to dynamically include the test cases by checking AF_UNIX
availability using a new helper socket_check_afunix_support().
With such changes testing on a Windows host can be covered as well.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20220802075200.907360-5-bmeng.cn@gmail.com>
---
 tests/unit/socket-helpers.h         |  9 +++++++
 tests/unit/socket-helpers.c         | 16 +++++++++++++
 tests/unit/test-io-channel-socket.c | 37 ++++++++++++++++++-----------
 3 files changed, 48 insertions(+), 14 deletions(-)

diff --git a/tests/unit/socket-helpers.h b/tests/unit/socket-helpers.h
index 512a004811..ed8477ceb3 100644
--- a/tests/unit/socket-helpers.h
+++ b/tests/unit/socket-helpers.h
@@ -32,4 +32,13 @@
  */
 int socket_check_protocol_support(bool *has_ipv4, bool *has_ipv6);
 
+/*
+ * @has_afunix: set to true on return if unix socket support is available
+ *
+ * Check whether unix domain socket support is available for use.
+ * On success, @has_afunix will be set to indicate whether AF_UNIX protocol
+ * is available.
+ */
+void socket_check_afunix_support(bool *has_afunix);
+
 #endif
diff --git a/tests/unit/socket-helpers.c b/tests/unit/socket-helpers.c
index 5af4de513b..eecadf3a3c 100644
--- a/tests/unit/socket-helpers.c
+++ b/tests/unit/socket-helpers.c
@@ -154,3 +154,19 @@ int socket_check_protocol_support(bool *has_ipv4, bool *has_ipv6)
 
     return 0;
 }
+
+void socket_check_afunix_support(bool *has_afunix)
+{
+    int fd;
+
+    fd = socket(PF_UNIX, SOCK_STREAM, 0);
+    closesocket(fd);
+
+#ifdef _WIN32
+    *has_afunix = (fd != (int)INVALID_SOCKET);
+#else
+    *has_afunix = (fd >= 0);
+#endif
+
+    return;
+}
diff --git a/tests/unit/test-io-channel-socket.c b/tests/unit/test-io-channel-socket.c
index 6713886d02..b36a5d972a 100644
--- a/tests/unit/test-io-channel-socket.c
+++ b/tests/unit/test-io-channel-socket.c
@@ -179,10 +179,12 @@ static void test_io_channel(bool async,
         test_io_channel_setup_async(listen_addr, connect_addr,
                                     &srv, &src, &dst);
 
+#ifndef _WIN32
         g_assert(!passFD ||
                  qio_channel_has_feature(src, QIO_CHANNEL_FEATURE_FD_PASS));
         g_assert(!passFD ||
                  qio_channel_has_feature(dst, QIO_CHANNEL_FEATURE_FD_PASS));
+#endif
         g_assert(qio_channel_has_feature(src, QIO_CHANNEL_FEATURE_SHUTDOWN));
         g_assert(qio_channel_has_feature(dst, QIO_CHANNEL_FEATURE_SHUTDOWN));
 
@@ -206,10 +208,12 @@ static void test_io_channel(bool async,
         test_io_channel_setup_async(listen_addr, connect_addr,
                                     &srv, &src, &dst);
 
+#ifndef _WIN32
         g_assert(!passFD ||
                  qio_channel_has_feature(src, QIO_CHANNEL_FEATURE_FD_PASS));
         g_assert(!passFD ||
                  qio_channel_has_feature(dst, QIO_CHANNEL_FEATURE_FD_PASS));
+#endif
         g_assert(qio_channel_has_feature(src, QIO_CHANNEL_FEATURE_SHUTDOWN));
         g_assert(qio_channel_has_feature(dst, QIO_CHANNEL_FEATURE_SHUTDOWN));
 
@@ -236,10 +240,12 @@ static void test_io_channel(bool async,
         test_io_channel_setup_sync(listen_addr, connect_addr,
                                    &srv, &src, &dst);
 
+#ifndef _WIN32
         g_assert(!passFD ||
                  qio_channel_has_feature(src, QIO_CHANNEL_FEATURE_FD_PASS));
         g_assert(!passFD ||
                  qio_channel_has_feature(dst, QIO_CHANNEL_FEATURE_FD_PASS));
+#endif
         g_assert(qio_channel_has_feature(src, QIO_CHANNEL_FEATURE_SHUTDOWN));
         g_assert(qio_channel_has_feature(dst, QIO_CHANNEL_FEATURE_SHUTDOWN));
 
@@ -263,10 +269,12 @@ static void test_io_channel(bool async,
         test_io_channel_setup_sync(listen_addr, connect_addr,
                                    &srv, &src, &dst);
 
+#ifndef _WIN32
         g_assert(!passFD ||
                  qio_channel_has_feature(src, QIO_CHANNEL_FEATURE_FD_PASS));
         g_assert(!passFD ||
                  qio_channel_has_feature(dst, QIO_CHANNEL_FEATURE_FD_PASS));
+#endif
         g_assert(qio_channel_has_feature(src, QIO_CHANNEL_FEATURE_SHUTDOWN));
         g_assert(qio_channel_has_feature(dst, QIO_CHANNEL_FEATURE_SHUTDOWN));
 
@@ -367,7 +375,6 @@ static void test_io_channel_ipv6_async(void)
 }
 
 
-#ifndef _WIN32
 static void test_io_channel_unix(bool async)
 {
     SocketAddress *listen_addr = g_new0(SocketAddress, 1);
@@ -398,6 +405,7 @@ static void test_io_channel_unix_async(void)
     return test_io_channel_unix(true);
 }
 
+#ifndef _WIN32
 static void test_io_channel_unix_fd_pass(void)
 {
     SocketAddress *listen_addr = g_new0(SocketAddress, 1);
@@ -491,6 +499,7 @@ static void test_io_channel_unix_fd_pass(void)
     }
     g_free(fdrecv);
 }
+#endif /* _WIN32 */
 
 static void test_io_channel_unix_listen_cleanup(void)
 {
@@ -522,9 +531,6 @@ static void test_io_channel_unix_listen_cleanup(void)
     unlink(TEST_SOCKET);
 }
 
-#endif /* _WIN32 */
-
-
 static void test_io_channel_ipv4_fd(void)
 {
     QIOChannel *ioc;
@@ -555,7 +561,7 @@ static void test_io_channel_ipv4_fd(void)
 
 int main(int argc, char **argv)
 {
-    bool has_ipv4, has_ipv6;
+    bool has_ipv4, has_ipv6, has_afunix;
 
     module_call_init(MODULE_INIT_QOM);
     qemu_init_main_loop(&error_abort);
@@ -588,16 +594,19 @@ int main(int argc, char **argv)
                         test_io_channel_ipv6_async);
     }
 
+    socket_check_afunix_support(&has_afunix);
+    if (has_afunix) {
+        g_test_add_func("/io/channel/socket/unix-sync",
+                        test_io_channel_unix_sync);
+        g_test_add_func("/io/channel/socket/unix-async",
+                        test_io_channel_unix_async);
 #ifndef _WIN32
-    g_test_add_func("/io/channel/socket/unix-sync",
-                    test_io_channel_unix_sync);
-    g_test_add_func("/io/channel/socket/unix-async",
-                    test_io_channel_unix_async);
-    g_test_add_func("/io/channel/socket/unix-fd-pass",
-                    test_io_channel_unix_fd_pass);
-    g_test_add_func("/io/channel/socket/unix-listen-cleanup",
-                    test_io_channel_unix_listen_cleanup);
-#endif /* _WIN32 */
+        g_test_add_func("/io/channel/socket/unix-fd-pass",
+                        test_io_channel_unix_fd_pass);
+#endif
+        g_test_add_func("/io/channel/socket/unix-listen-cleanup",
+                        test_io_channel_unix_listen_cleanup);
+    }
 
 end:
     return g_test_run();
-- 
2.37.2



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

* [PULL 4/4] audio: exit(1) if audio backend failed to be found or initialized
  2022-09-02 13:14 [PULL 0/4] chardev patches & a small audio fix marcandre.lureau
                   ` (2 preceding siblings ...)
  2022-09-02 13:14 ` [PULL 3/4] tests/unit: Update test-io-channel-socket.c " marcandre.lureau
@ 2022-09-02 13:14 ` marcandre.lureau
  2022-09-02 15:27 ` [PULL 0/4] chardev patches & a small audio fix Stefan Hajnoczi
  4 siblings, 0 replies; 7+ messages in thread
From: marcandre.lureau @ 2022-09-02 13:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P. Berrangé, bin.meng, Marc-André Lureau,
	Gerd Hoffmann, Stefan Weil, Paolo Bonzini

From: Marc-André Lureau <marcandre.lureau@redhat.com>

If you specify a known backend but it isn't compiled in, or failed to
initialize, you get a simple warning and the "none" backend as a
fallback, and QEMU runs happily:

$ qemu-system-x86_64 -audiodev id=audio,driver=dsound
audio: Unknown audio driver `dsound'
audio: warning: Using timer based audio emulation
...

Instead, QEMU should fail to start:
$ qemu-system-x86_64 -audiodev id=audio,driver=dsound
audio: Unknown audio driver `dsound'
$

Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1983493

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20220822131021.975656-1-marcandre.lureau@redhat.com>
---
 audio/audio.h |  2 +-
 audio/audio.c | 14 +++++++++++---
 softmmu/vl.c  |  4 +++-
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/audio/audio.h b/audio/audio.h
index b5e17cd218..27e67079a0 100644
--- a/audio/audio.h
+++ b/audio/audio.h
@@ -170,7 +170,7 @@ void audio_sample_from_uint64(void *samples, int pos,
 
 void audio_define(Audiodev *audio);
 void audio_parse_option(const char *opt);
-void audio_init_audiodevs(void);
+bool audio_init_audiodevs(void);
 void audio_legacy_help(void);
 
 AudioState *audio_state_by_name(const char *name);
diff --git a/audio/audio.c b/audio/audio.c
index a02f3ce5c6..76b8735b44 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -1743,7 +1743,6 @@ static AudioState *audio_init(Audiodev *dev, const char *name)
         atexit(audio_cleanup);
         atexit_registered = true;
     }
-    QTAILQ_INSERT_TAIL(&audio_states, s, list);
 
     s->ts = timer_new_ns(QEMU_CLOCK_VIRTUAL, audio_timer, s);
 
@@ -1769,6 +1768,10 @@ static AudioState *audio_init(Audiodev *dev, const char *name)
         } else {
             dolog ("Unknown audio driver `%s'\n", drvname);
         }
+        if (!done) {
+            free_audio_state(s);
+            return NULL;
+        }
     } else {
         for (i = 0; audio_prio_list[i]; i++) {
             AudiodevListEntry *e = audiodev_find(&head, audio_prio_list[i]);
@@ -1806,6 +1809,7 @@ static AudioState *audio_init(Audiodev *dev, const char *name)
                "(Audio can continue looping even after stopping the VM)\n");
     }
 
+    QTAILQ_INSERT_TAIL(&audio_states, s, list);
     QLIST_INIT (&s->card_head);
     vmstate_register (NULL, 0, &vmstate_audio, s);
     return s;
@@ -2119,13 +2123,17 @@ void audio_define(Audiodev *dev)
     QSIMPLEQ_INSERT_TAIL(&audiodevs, e, next);
 }
 
-void audio_init_audiodevs(void)
+bool audio_init_audiodevs(void)
 {
     AudiodevListEntry *e;
 
     QSIMPLEQ_FOREACH(e, &audiodevs, next) {
-        audio_init(e->dev, NULL);
+        if (!audio_init(e->dev, NULL)) {
+            return false;
+        }
     }
+
+    return true;
 }
 
 audsettings audiodev_to_audsettings(AudiodevPerDirectionOptions *pdo)
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 706bd7cff7..dea4005e47 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -1885,7 +1885,9 @@ static void qemu_create_early_backends(void)
      * setting machine properties, so they can be referred to.
      */
     configure_blockdev(&bdo_queue, machine_class, snapshot);
-    audio_init_audiodevs();
+    if (!audio_init_audiodevs()) {
+        exit(1);
+    }
 }
 
 
-- 
2.37.2



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

* Re: [PULL 0/4] chardev patches & a small audio fix
  2022-09-02 13:14 [PULL 0/4] chardev patches & a small audio fix marcandre.lureau
                   ` (3 preceding siblings ...)
  2022-09-02 13:14 ` [PULL 4/4] audio: exit(1) if audio backend failed to be found or initialized marcandre.lureau
@ 2022-09-02 15:27 ` Stefan Hajnoczi
  4 siblings, 0 replies; 7+ messages in thread
From: Stefan Hajnoczi @ 2022-09-02 15:27 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Daniel P. Berrangé, bin.meng, Gerd Hoffmann,
	Stefan Weil, Paolo Bonzini

On Fri, 2 Sept 2022 at 09:24, <marcandre.lureau@redhat.com> wrote:
>
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> The following changes since commit 93fac696d241dccb04ebb9d23da55fc1e9d8ee36:
>
>   Open 7.2 development tree (2022-08-30 09:40:41 -0700)
>
> are available in the Git repository at:
>
>   git@gitlab.com:marcandre.lureau/qemu.git tags/char-pull-request

Hi Marc-André,
Please update .git/config to separate the push URL from the fetch URL:

[remote "gitlab"]
        url = https://gitlab.com/marcandre.lureau/qemu.git
        pushUrl = git@gitlab.com:marcandre.lureau/qemu.git

That way future pull requests will include an https URL that allows
fetches without ssh or a GitLab account. Thanks!

Stefan


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

* Re: [PULL 0/4] chardev patches & a small audio fix
@ 2022-09-02 17:20 Stefan Hajnoczi
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Hajnoczi @ 2022-09-02 17:20 UTC (permalink / raw)
  To: marcandre.lureau; +Cc: qemu-devel

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

To: =?utf-8?q?Marc-André?= Lureau <marcandre.lureau@redhat.com>
Cc: qemu-devel@nongnu.org, Daniel =?utf-8?q?P._Berrangé?= <berrange@redhat.com>, bin.meng@windriver.com, , Gerd Hoffmann <kraxel@redhat.com>, Stefan Weil <sw@weilnetz.de>, Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PULL 0/4] chardev patches & a small audio fix
In-Reply-To: <20220902131412.3125752-1-marcandre.lureau@redhat.com>
References: <20220902131412.3125752-1-marcandre.lureau@redhat.com>

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/7.2 for any user-visible changes.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

end of thread, other threads:[~2022-09-05 11:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-02 13:14 [PULL 0/4] chardev patches & a small audio fix marcandre.lureau
2022-09-02 13:14 ` [PULL 1/4] util/qemu-sockets: Enable unix socket support on Windows marcandre.lureau
2022-09-02 13:14 ` [PULL 2/4] chardev/char-socket: Update AF_UNIX for Windows marcandre.lureau
2022-09-02 13:14 ` [PULL 3/4] tests/unit: Update test-io-channel-socket.c " marcandre.lureau
2022-09-02 13:14 ` [PULL 4/4] audio: exit(1) if audio backend failed to be found or initialized marcandre.lureau
2022-09-02 15:27 ` [PULL 0/4] chardev patches & a small audio fix Stefan Hajnoczi
  -- strict thread matches above, loose matches on Subject: below --
2022-09-02 17:20 Stefan Hajnoczi

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).