From: Peter Xu <peterx@redhat.com>
To: Fabiano Rosas <farosas@suse.de>,
Andrey Gruzdev <andrey.gruzdev@virtuozzo.com>
Cc: "Steve Sistare" <steven.sistare@oracle.com>,
qemu-devel@nongnu.org, "Juan Quintela" <quintela@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Leonardo Bras" <leobras@redhat.com>
Subject: Re: [PATCH V6 13/14] tests/qtest: bootfile per vm
Date: Mon, 4 Dec 2023 17:37:36 -0500 [thread overview]
Message-ID: <ZW5UsIhP7GcKbwZK@x1n> (raw)
In-Reply-To: <87lea9n01r.fsf@suse.de>
On Mon, Dec 04, 2023 at 06:13:36PM -0300, Fabiano Rosas wrote:
> Steve Sistare <steven.sistare@oracle.com> writes:
>
> > Create a separate bootfile for the outgoing and incoming vm, so the block
> > layer can lock the file during the background migration test. Otherwise,
> > the test fails with:
> > "Failed to get "write" lock. Is another process using the image
> > [/tmp/migration-test-WAKPD2/bootsect]?"
>
> Hm.. what is the background migration even trying to access on the boot
> disk? @Peter?
I didn't yet notice this patch until you asked, but background snapshot is
not designed to be used like this, afaict.
It should normally be used when someone would like to use "savevm", then
background snapshot makes that snapshot save happen with VM running (live)
and mostly as performant as "savevm" due to page write protections (IOW, it
is not dirty tracking, but wr-protect each page so not writtable at all
until unprotected).
Another difference (from "savevm") is, instead of storing that image onto
the block images, it stores that image also separately just like migrating
with "file:" as of now.
When the dest QEMU starts it'll try to grab the image lock already because
it should never run with src running, just like when "loadvm" QEMU doesn't
assume the QEMU that ran "savevm" will be running.
>
> This might be a good use for the -snapshot option. It should stop any
> attempt to get the write lock. Not a lot of difference, but slightly
> simpler.
We don't yet have a background-snapshot test case. If we ever need,
that'll need to be done in two steps: start src, save snapshot into file,
start dest, load from snapshot file. We just shouldn't boot two together.
Now after two years when I re-read the snapshot code a bit, I didn't even
find where QEMU took the disk snapshots.. logically it should be done at
the start of live background snapshot when VM was dumping device states,
something like bdrv_all_can_snapshot() orshould be needed to make sure all
images support snapshot on its own or it should already fail, and take
snapshots to match the image.
IOW, I don't even think current raw disk would be able to support
background snapshot at all, otherwise if VM is live I don't see a way to
match the image (which is still lively updated by the running VM) to a live
snapshot taken. Copy the author, Andrey, for this question.
Before that is confirmed, maybe the easiest way is we can go without a
background snapshot test case for suspend vm scenario.
Thanks,
--
Peter Xu
next prev parent reply other threads:[~2023-12-04 22:38 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-30 21:37 [PATCH V6 00/14] fix migration of suspended runstate Steve Sistare
2023-11-30 21:37 ` [PATCH V6 01/14] cpus: pass runstate to vm_prepare_start Steve Sistare
2023-11-30 21:37 ` [PATCH V6 02/14] cpus: vm_was_suspended Steve Sistare
2023-11-30 22:03 ` Peter Xu
2023-11-30 21:37 ` [PATCH V6 03/14] cpus: stop vm in suspended runstate Steve Sistare
2023-11-30 22:10 ` Peter Xu
2023-12-01 17:11 ` Steven Sistare
2023-12-04 16:35 ` Peter Xu
2023-12-04 16:41 ` Steven Sistare
2023-12-22 12:20 ` Markus Armbruster
2023-12-22 15:53 ` Steven Sistare
2023-12-23 5:41 ` Markus Armbruster
2024-01-03 13:09 ` Peter Xu
2024-01-03 13:32 ` Steven Sistare
2024-01-03 14:47 ` Steven Sistare
2024-01-08 7:43 ` Markus Armbruster
2023-11-30 21:37 ` [PATCH V6 04/14] cpus: vm_resume Steve Sistare
2023-12-05 21:36 ` Peter Xu
2023-11-30 21:37 ` [PATCH V6 05/14] migration: propagate suspended runstate Steve Sistare
2023-11-30 23:06 ` Peter Xu
2023-12-01 16:23 ` Steven Sistare
2023-12-04 17:24 ` Peter Xu
2023-12-04 19:31 ` Fabiano Rosas
2023-12-04 20:02 ` Peter Xu
2023-12-04 21:09 ` Fabiano Rosas
2023-12-04 22:04 ` Peter Xu
2023-12-05 12:44 ` Fabiano Rosas
2023-12-05 14:14 ` Steven Sistare
2023-12-05 16:18 ` Peter Xu
2023-12-05 16:52 ` Fabiano Rosas
2023-12-05 17:04 ` Steven Sistare
2023-12-04 22:23 ` Steven Sistare
2023-12-05 16:50 ` Peter Xu
2023-12-05 17:48 ` Steven Sistare
2023-11-30 21:37 ` [PATCH V6 06/14] migration: preserve " Steve Sistare
2023-12-05 21:34 ` Peter Xu
2023-11-30 21:37 ` [PATCH V6 07/14] migration: preserve suspended for snapshot Steve Sistare
2023-12-05 21:35 ` Peter Xu
2023-11-30 21:37 ` [PATCH V6 08/14] migration: preserve suspended for bg_migration Steve Sistare
2023-12-05 21:35 ` Peter Xu
2023-11-30 21:37 ` [PATCH V6 09/14] tests/qtest: migration events Steve Sistare
2023-11-30 21:37 ` [PATCH V6 10/14] tests/qtest: option to suspend during migration Steve Sistare
2023-12-04 21:14 ` Fabiano Rosas
2023-11-30 21:37 ` [PATCH V6 11/14] tests/qtest: precopy migration with suspend Steve Sistare
2023-12-04 20:49 ` Peter Xu
2023-12-05 16:14 ` Steven Sistare
2023-12-05 21:07 ` Peter Xu
2023-11-30 21:37 ` [PATCH V6 12/14] tests/qtest: postcopy " Steve Sistare
2023-11-30 21:37 ` [PATCH V6 13/14] tests/qtest: bootfile per vm Steve Sistare
2023-12-04 21:13 ` Fabiano Rosas
2023-12-04 22:37 ` Peter Xu [this message]
2023-12-05 18:43 ` Steven Sistare
2023-11-30 21:37 ` [PATCH V6 14/14] tests/qtest: background migration with suspend Steve Sistare
2023-12-04 21:14 ` Fabiano Rosas
2023-12-05 18:52 ` [PATCH V6 00/14] fix migration of suspended runstate Steven Sistare
2023-12-05 19:19 ` Fabiano Rosas
2023-12-05 21:37 ` Peter Xu
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=ZW5UsIhP7GcKbwZK@x1n \
--to=peterx@redhat.com \
--cc=andrey.gruzdev@virtuozzo.com \
--cc=berrange@redhat.com \
--cc=farosas@suse.de \
--cc=leobras@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=steven.sistare@oracle.com \
--cc=thuth@redhat.com \
/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: link
Be 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).