On 2020/9/10 21:11, Daniel P. Berrangé wrote:
> On Wed, Sep 09, 2020 at 10:52:51PM +0800, Chuan Zheng wrote:
>> hostname is need in multifd-tls, save hostname into MigrationState
>>
>> Signed-off-by: Chuan Zheng <zhengch...@huawei.com>
>> Signed-off-by: Yan Jin <jinya...@huawei.com>
>> ---
>> migration/channel.c | 5 +++++
>> migration/migration.c | 1 +
>> migration/migration.h | 5 +++++
>> 3 files changed, 11 insertions(+)
>>
>> diff --git a/migration/channel.c b/migration/channel.c
>> index 20e4c8e..2af3069 100644
>> --- a/migration/channel.c
>> +++ b/migration/channel.c
>> @@ -66,6 +66,11 @@ void migration_channel_connect(MigrationState *s,
>> trace_migration_set_outgoing_channel(
>> ioc, object_get_typename(OBJECT(ioc)), hostname, error);
>>
>> + /* Save hostname into MigrationState for handshake */
>> + if (hostname) {
>> + s->hostname = g_strdup(hostname);
>> + }
>> +
>> if (!error) {
>> if (s->parameters.tls_creds &&
>> *s->parameters.tls_creds &&
>> diff --git a/migration/migration.c b/migration/migration.c
>> index 58a5452..e20b778 100644
>> --- a/migration/migration.c
>> +++ b/migration/migration.c
>> @@ -1883,6 +1883,7 @@ void migrate_init(MigrationState *s)
>> s->migration_thread_running = false;
>> error_free(s->error);
>> s->error = NULL;
>> + s->hostname = NULL;
>>
>> migrate_set_state(&s->state, MIGRATION_STATUS_NONE,
>> MIGRATION_STATUS_SETUP);
>>
>> diff --git a/migration/migration.h b/migration/migration.h
>> index ae497bd..758f803 100644
>> --- a/migration/migration.h
>> +++ b/migration/migration.h
>> @@ -261,6 +261,11 @@ struct MigrationState
>> * (which is in 4M chunk).
>> */
>> uint8_t clear_bitmap_shift;
>> +
>> + /*
>> + * This save hostname when out-going migration starts
>> + */
>> + char *hostname;
>> };
>
> Something needs to free(hostname) at the appropriate time, otherwise
> well have a memory leak if we run migration multiple times.
>
Hi, Daniel
Thank you for your review.
Yes, it will have a memory leak. Maybe i could just assign incoming parameters
when it is not NULL other than g_strdup it.
However, i am doubt if it is the best idea to save hostname into
current_migration:(
>
> Regards,
> Daniel
>