From: Catherine Ho <catherine.hecx@gmail.com> To: Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <rth@twiddle.net>, "Dr. David Alan Gilbert" <dgilbert@redhat.com> Cc: Markus Armbruster <armbru@redhat.com>, Juan Quintela <quintela@redhat.com>, qemu-devel@nongnu.org, Peter Xu <peterx@redhat.com>, Catherine Ho <catherine.hecx@gmail.com> Subject: [Qemu-devel] [PATCH] hostmem-file: warn when memory-backend-file, share=on and in incoming migration Date: Sun, 7 Apr 2019 22:19:05 -0400 [thread overview] Message-ID: <1554689945-18619-1-git-send-email-catherine.hecx@gmail.com> (raw) Currently it is not forbidden to use "-object memory-backend-file,share=on" and together with "-incoming". But after incoming migration is finished, the memory-backend-file will be definitely written if share=on. So the memory-backend-file can only be used once, but failed in the 2nd time incoming. Thus it gives a warning and the users can run the qemu if they really want to do it. Signed-off-by: Catherine Ho <catherine.hecx@gmail.com> --- backends/hostmem-file.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c index 37ac6445d2..59429ee0b4 100644 --- a/backends/hostmem-file.c +++ b/backends/hostmem-file.c @@ -16,6 +16,7 @@ #include "sysemu/hostmem.h" #include "sysemu/sysemu.h" #include "qom/object_interfaces.h" +#include "migration/migration.h" /* hostmem-file.c */ /** @@ -79,6 +80,16 @@ file_backend_memory_alloc(HostMemoryBackend *backend, Error **errp) } } + /* + * In ignore shared case, if share=on for host memory backend file, + * the ram might be written after incoming process is finished. Thus + * the memory backend can't be reused for 2nd/3rd... incoming + */ + if (backend->share && migrate_ignore_shared() + && runstate_check(RUN_STATE_INMIGRATE)) + warn_report("share=on for memory backend file might be " + "conflicted with incoming in ignore shared case"); + backend->force_prealloc = mem_prealloc; name = host_memory_backend_get_name(backend); memory_region_init_ram_from_file(&backend->mr, OBJECT(backend), -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Catherine Ho <catherine.hecx@gmail.com> To: Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <rth@twiddle.net>, "Dr. David Alan Gilbert" <dgilbert@redhat.com> Cc: qemu-devel@nongnu.org, Catherine Ho <catherine.hecx@gmail.com>, Markus Armbruster <armbru@redhat.com>, Peter Xu <peterx@redhat.com>, Juan Quintela <quintela@redhat.com> Subject: [Qemu-devel] [PATCH] hostmem-file: warn when memory-backend-file, share=on and in incoming migration Date: Sun, 7 Apr 2019 22:19:05 -0400 [thread overview] Message-ID: <1554689945-18619-1-git-send-email-catherine.hecx@gmail.com> (raw) Message-ID: <20190408021905.8YMTkOdnR_cXu3VUewKyxmgZXdv5maiQXLMmf-zdfzY@z> (raw) Currently it is not forbidden to use "-object memory-backend-file,share=on" and together with "-incoming". But after incoming migration is finished, the memory-backend-file will be definitely written if share=on. So the memory-backend-file can only be used once, but failed in the 2nd time incoming. Thus it gives a warning and the users can run the qemu if they really want to do it. Signed-off-by: Catherine Ho <catherine.hecx@gmail.com> --- backends/hostmem-file.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c index 37ac6445d2..59429ee0b4 100644 --- a/backends/hostmem-file.c +++ b/backends/hostmem-file.c @@ -16,6 +16,7 @@ #include "sysemu/hostmem.h" #include "sysemu/sysemu.h" #include "qom/object_interfaces.h" +#include "migration/migration.h" /* hostmem-file.c */ /** @@ -79,6 +80,16 @@ file_backend_memory_alloc(HostMemoryBackend *backend, Error **errp) } } + /* + * In ignore shared case, if share=on for host memory backend file, + * the ram might be written after incoming process is finished. Thus + * the memory backend can't be reused for 2nd/3rd... incoming + */ + if (backend->share && migrate_ignore_shared() + && runstate_check(RUN_STATE_INMIGRATE)) + warn_report("share=on for memory backend file might be " + "conflicted with incoming in ignore shared case"); + backend->force_prealloc = mem_prealloc; name = host_memory_backend_get_name(backend); memory_region_init_ram_from_file(&backend->mr, OBJECT(backend), -- 2.17.1
next reply other threads:[~2019-04-08 2:20 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-08 2:19 Catherine Ho [this message] 2019-04-08 2:19 ` [Qemu-devel] [PATCH] hostmem-file: warn when memory-backend-file, share=on and in incoming migration Catherine Ho 2019-04-08 3:25 ` Peter Xu 2019-04-08 3:25 ` Peter Xu 2019-04-08 6:15 ` Catherine Ho 2019-04-08 6:15 ` Catherine Ho 2019-04-08 7:04 ` Peter Xu 2019-04-08 7:04 ` Peter Xu 2019-04-08 8:43 ` [Qemu-devel] [PATCH v2] " Catherine Ho 2019-04-08 8:43 ` Catherine Ho 2019-04-08 10:35 ` [Qemu-devel] [PATCH] " Igor Mammedov 2019-04-08 10:35 ` Igor Mammedov 2019-04-09 2:21 ` Catherine Ho 2019-04-09 2:21 ` Catherine Ho 2019-04-10 14:59 ` Dr. David Alan Gilbert 2019-04-10 14:59 ` Dr. David Alan Gilbert 2019-04-10 15:36 ` Catherine Ho 2019-04-10 15:36 ` Catherine Ho 2019-04-10 16:57 ` Dr. David Alan Gilbert 2019-04-10 16:57 ` Dr. David Alan Gilbert 2019-04-11 1:25 ` Catherine Ho 2019-04-11 1:25 ` Catherine Ho
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1554689945-18619-1-git-send-email-catherine.hecx@gmail.com \ --to=catherine.hecx@gmail.com \ --cc=armbru@redhat.com \ --cc=dgilbert@redhat.com \ --cc=pbonzini@redhat.com \ --cc=peterx@redhat.com \ --cc=qemu-devel@nongnu.org \ --cc=quintela@redhat.com \ --cc=rth@twiddle.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).