[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 12/42] migration: enhance migrate_uri_parse
From: |
Fabiano Rosas |
Subject: |
[PULL 12/42] migration: enhance migrate_uri_parse |
Date: |
Wed, 29 Jan 2025 13:00:29 -0300 |
From: Steve Sistare <steven.sistare@oracle.com>
Export migrate_uri_parse for use outside migration internals, and define
a method migrate_is_uri that indicates when migrate_uri_parse should
be used.
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link:
1736967650-129648-12-git-send-email-steven.sistare@oracle.com">https://lore.kernel.org/r/1736967650-129648-12-git-send-email-steven.sistare@oracle.com
Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
include/migration/misc.h | 7 +++++++
migration/migration.c | 11 +++++++++++
migration/migration.h | 2 --
3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/include/migration/misc.h b/include/migration/misc.h
index 67f7ef7a0e..c660be8095 100644
--- a/include/migration/misc.h
+++ b/include/migration/misc.h
@@ -108,4 +108,11 @@ bool migration_in_bg_snapshot(void);
bool migration_block_activate(Error **errp);
bool migration_block_inactivate(void);
+/* True if @uri starts with a syntactically valid URI prefix */
+bool migrate_is_uri(const char *uri);
+
+/* Parse @uri and return @channel, returning true on success */
+bool migrate_uri_parse(const char *uri, MigrationChannel **channel,
+ Error **errp);
+
#endif
diff --git a/migration/migration.c b/migration/migration.c
index fce7b22ae8..b5ee98e691 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -14,6 +14,7 @@
*/
#include "qemu/osdep.h"
+#include "qemu/ctype.h"
#include "qemu/cutils.h"
#include "qemu/error-report.h"
#include "qemu/main-loop.h"
@@ -587,6 +588,16 @@ void migrate_add_address(SocketAddress *address)
QAPI_CLONE(SocketAddress, address));
}
+bool migrate_is_uri(const char *uri)
+{
+ while (*uri && *uri != ':') {
+ if (!qemu_isalpha(*uri++)) {
+ return false;
+ }
+ }
+ return *uri == ':';
+}
+
bool migrate_uri_parse(const char *uri, MigrationChannel **channel,
Error **errp)
{
diff --git a/migration/migration.h b/migration/migration.h
index 0df2a187af..1d4d4e910d 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -519,8 +519,6 @@ bool check_dirty_bitmap_mig_alias_map(const
BitmapMigrationNodeAliasList *bbm,
Error **errp);
void migrate_add_address(SocketAddress *address);
-bool migrate_uri_parse(const char *uri, MigrationChannel **channel,
- Error **errp);
int foreach_not_ignored_block(RAMBlockIterFunc func, void *opaque);
#define qemu_ram_foreach_block \
--
2.35.3
- [PULL 00/42] Migration patches for 2025-01-29, Fabiano Rosas, 2025/01/29
- [PULL 04/42] physmem: qemu_ram_alloc_from_fd extensions, Fabiano Rosas, 2025/01/29
- [PULL 05/42] physmem: fd-based shared memory, Fabiano Rosas, 2025/01/29
- [PULL 07/42] machine: aux-ram-share option, Fabiano Rosas, 2025/01/29
- [PULL 10/42] hostmem-memfd: preserve for cpr, Fabiano Rosas, 2025/01/29
- [PULL 02/42] backends/hostmem-shm: factor out allocation of "anonymous shared memory with an fd", Fabiano Rosas, 2025/01/29
- [PULL 12/42] migration: enhance migrate_uri_parse,
Fabiano Rosas <=
- [PULL 15/42] migration: VMSTATE_FD, Fabiano Rosas, 2025/01/29
- [PULL 20/42] tests/qtest: defer connection, Fabiano Rosas, 2025/01/29
- [PULL 22/42] tests/qtest: enhance migration channels, Fabiano Rosas, 2025/01/29
- [PULL 23/42] tests/qtest: assert qmp connected, Fabiano Rosas, 2025/01/29
- [PULL 26/42] migration: Remove postcopy implications in should_send_vmdesc(), Fabiano Rosas, 2025/01/29
- [PULL 30/42] migration: Drop inactivate_disk param in qemu_savevm_state_complete*, Fabiano Rosas, 2025/01/29
- [PULL 33/42] migration: Adjust locking in migration_maybe_pause(), Fabiano Rosas, 2025/01/29
- [PULL 03/42] physmem: fix qemu_ram_alloc_from_fd size calculation, Fabiano Rosas, 2025/01/29
- [PULL 06/42] memory: add RAM_PRIVATE, Fabiano Rosas, 2025/01/29
- [PULL 11/42] hostmem-shm: preserve for cpr, Fabiano Rosas, 2025/01/29