mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
QAPI patches patches for 2024-03-04
-----BEGIN PGP SIGNATURE----- iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmXlaSISHGFybWJydUBy ZWRoYXQuY29tAAoJEDhwtADrkYZTdZ8P/iMgqLoAFkCCjwfkUc/rqZUezK52Ynr7 LYwOPI/xcYD7EnVogdRgFgjWFNoivQLP5yKsU/eRTk29pwdDzTscFm/0ztTQX/Gb ypWV+GBcu5J8mKbp1KF5w68aDD8Bat4WRfEgDQ1DV7v6CoMiUzTiF3CGXkYzqK5Y kYNq97vdEkBFvFdOl/7scs/XXN2jG27egDhMp68RTxnPHlXZiAO9/2Bul3uVe3x0 fzQ2ViYv0qLnjE/PwENDqqE3Thv3Sxp5iEeQQ6GWi07EVh07UtHpOM3RYyrTU0Sb VrTApSrg0oxlkOuR0CBd9Fi+timtbokBL0DWyUpXNTfIEZfLtA9H+8riUg3EOcDp r7a4SI/27VdPxX6Kc6zA3bi+/j1o7CLTW2LGEwuZs52nmixoo1HTWPIFdyh13g/V QjNbun0fViHb0FVLiyDlXF/7Y+EWUWIyqwwGqbvve1DyUHQmo3CUQAKGOpkeKSBe 4eGciVDgpBoKhtw9Kv6LCDj2cwZKC8DxBMibf7GHkOnAsX2mnyuHcey7HvYNCoF+ yYz7oIEXdlL2eWqg7CfBZK7lniCDln50RI4Ll1v+J4r1v1kRZGMLesTYXCdNc4ku yb4kpU4t22/RODffLE7K+fc3Onwze3fcfxlZMN66F+wFtk4KdPR2aQBE66bB8J99 vuSKlTbT4cGL =s9AR -----END PGP SIGNATURE----- Merge tag 'pull-qapi-2024-03-04' of https://repo.or.cz/qemu/armbru into staging QAPI patches patches for 2024-03-04 # -----BEGIN PGP SIGNATURE----- # # iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmXlaSISHGFybWJydUBy # ZWRoYXQuY29tAAoJEDhwtADrkYZTdZ8P/iMgqLoAFkCCjwfkUc/rqZUezK52Ynr7 # LYwOPI/xcYD7EnVogdRgFgjWFNoivQLP5yKsU/eRTk29pwdDzTscFm/0ztTQX/Gb # ypWV+GBcu5J8mKbp1KF5w68aDD8Bat4WRfEgDQ1DV7v6CoMiUzTiF3CGXkYzqK5Y # kYNq97vdEkBFvFdOl/7scs/XXN2jG27egDhMp68RTxnPHlXZiAO9/2Bul3uVe3x0 # fzQ2ViYv0qLnjE/PwENDqqE3Thv3Sxp5iEeQQ6GWi07EVh07UtHpOM3RYyrTU0Sb # VrTApSrg0oxlkOuR0CBd9Fi+timtbokBL0DWyUpXNTfIEZfLtA9H+8riUg3EOcDp # r7a4SI/27VdPxX6Kc6zA3bi+/j1o7CLTW2LGEwuZs52nmixoo1HTWPIFdyh13g/V # QjNbun0fViHb0FVLiyDlXF/7Y+EWUWIyqwwGqbvve1DyUHQmo3CUQAKGOpkeKSBe # 4eGciVDgpBoKhtw9Kv6LCDj2cwZKC8DxBMibf7GHkOnAsX2mnyuHcey7HvYNCoF+ # yYz7oIEXdlL2eWqg7CfBZK7lniCDln50RI4Ll1v+J4r1v1kRZGMLesTYXCdNc4ku # yb4kpU4t22/RODffLE7K+fc3Onwze3fcfxlZMN66F+wFtk4KdPR2aQBE66bB8J99 # vuSKlTbT4cGL # =s9AR # -----END PGP SIGNATURE----- # gpg: Signature made Mon 04 Mar 2024 06:24:34 GMT # gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653 # gpg: issuer "armbru@redhat.com" # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full] # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full] # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * tag 'pull-qapi-2024-03-04' of https://repo.or.cz/qemu/armbru: migration: simplify exec migration functions qapi: New strv_from_str_list() qapi: New QAPI_LIST_LENGTH() docs/devel/writing-monitor-commands: Minor improvements docs/devel/writing-monitor-commands: Repair a decade of rot qapi: Reject "Returns" section when command doesn't return anything qga/qapi-schema: Fix guest-set-memory-blocks documentation qga/qapi-schema: Tweak documentation of fsfreeze commands qga/qapi-schema: Clean up "Returns" sections qga/qapi-schema: Delete useless "Returns" sections qga/qapi-schema: Move error documentation to new "Errors" sections qapi/yank: Tweak @yank's error description for consistency qapi: Clean up "Returns" sections qapi: Delete useless "Returns" sections qapi: Move error documentation to new "Errors" sections qapi: New documentation section tag "Errors" qapi: Slightly clearer error message for invalid "Returns" section qapi: Memorize since & returns sections Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
7d4e29ef80
34 changed files with 430 additions and 592 deletions
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
#include "qapi/type-helpers.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include "channel.h"
|
||||
#include "exec.h"
|
||||
|
@ -39,51 +40,16 @@ const char *exec_get_cmd_path(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
/* provides the length of strList */
|
||||
static int
|
||||
str_list_length(strList *list)
|
||||
{
|
||||
int len = 0;
|
||||
strList *elem;
|
||||
|
||||
for (elem = list; elem != NULL; elem = elem->next) {
|
||||
len++;
|
||||
}
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
static void
|
||||
init_exec_array(strList *command, char **argv, Error **errp)
|
||||
{
|
||||
int i = 0;
|
||||
strList *lst;
|
||||
|
||||
for (lst = command; lst; lst = lst->next) {
|
||||
argv[i++] = lst->value;
|
||||
}
|
||||
|
||||
argv[i] = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
void exec_start_outgoing_migration(MigrationState *s, strList *command,
|
||||
Error **errp)
|
||||
{
|
||||
QIOChannel *ioc;
|
||||
|
||||
int length = str_list_length(command);
|
||||
g_auto(GStrv) argv = (char **) g_new0(const char *, length + 1);
|
||||
|
||||
init_exec_array(command, argv, errp);
|
||||
QIOChannel *ioc = NULL;
|
||||
g_auto(GStrv) argv = strv_from_str_list(command);
|
||||
const char * const *args = (const char * const *) argv;
|
||||
g_autofree char *new_command = g_strjoinv(" ", (char **)argv);
|
||||
|
||||
trace_migration_exec_outgoing(new_command);
|
||||
ioc = QIO_CHANNEL(
|
||||
qio_channel_command_new_spawn(
|
||||
(const char * const *) g_steal_pointer(&argv),
|
||||
O_RDWR,
|
||||
errp));
|
||||
ioc = QIO_CHANNEL(qio_channel_command_new_spawn(args, O_RDWR, errp));
|
||||
if (!ioc) {
|
||||
return;
|
||||
}
|
||||
|
@ -105,19 +71,12 @@ static gboolean exec_accept_incoming_migration(QIOChannel *ioc,
|
|||
void exec_start_incoming_migration(strList *command, Error **errp)
|
||||
{
|
||||
QIOChannel *ioc;
|
||||
|
||||
int length = str_list_length(command);
|
||||
g_auto(GStrv) argv = (char **) g_new0(const char *, length + 1);
|
||||
|
||||
init_exec_array(command, argv, errp);
|
||||
g_auto(GStrv) argv = strv_from_str_list(command);
|
||||
const char * const *args = (const char * const *) argv;
|
||||
g_autofree char *new_command = g_strjoinv(" ", (char **)argv);
|
||||
|
||||
trace_migration_exec_incoming(new_command);
|
||||
ioc = QIO_CHANNEL(
|
||||
qio_channel_command_new_spawn(
|
||||
(const char * const *) g_steal_pointer(&argv),
|
||||
O_RDWR,
|
||||
errp));
|
||||
ioc = QIO_CHANNEL(qio_channel_command_new_spawn(args, O_RDWR, errp));
|
||||
if (!ioc) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue