From: "Alex Bennée" <alex.bennee@linaro.org>
To: Kevin Wolf <kwolf@redhat.com>
Cc: "Reinoud Zandijk" <reinoud@netbsd.org>,
"Michael Tokarev" <mjt@tls.msk.ru>,
qemu-devel@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Ryo ONODERA" <ryoon@netbsd.org>,
qemu-block@nongnu.org, "Hanna Reitz" <hreitz@redhat.com>,
"Warner Losh" <imp@bsdimp.com>, "Beraldo Leal" <bleal@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Kyle Evans" <kevans@freebsd.org>,
kvm@vger.kernel.org,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Cleber Rosa" <crosa@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
armbru@redhat.com
Subject: Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev
Date: Tue, 11 Apr 2023 14:03:36 +0100 [thread overview]
Message-ID: <87o7nupo25.fsf@linaro.org> (raw)
In-Reply-To: <ZDVN9TlzrCOJHlDR@redhat.com>
Kevin Wolf <kwolf@redhat.com> writes:
> Am 06.04.2023 um 22:23 hat Reinoud Zandijk geschrieben:
>> On Tue, Apr 04, 2023 at 06:17:45PM +0200, Kevin Wolf wrote:
>> > Am 04.04.2023 um 17:07 hat Michael Tokarev geschrieben:
>> > > 04.04.2023 16:57, Kevin Wolf пишет:
>> > Maybe -snapshot should error out if -blockdev is in use. You'd generally
>> > expect that either -blockdev is used primarily and snapshots are done
>> > externally (if the command line is generated by some management tool),
>> > or that -drive is used consistently (by a human who likes the
>> > convenience). In both cases, we wouldn't hit the error path.
>> >
>> > There may be some exceptional cases where you have both -drive and
>> > -blockdev (maybe because a human users needs more control for one
>> > specific disk). This is the case where you can get a nasty surprise and
>> > that would error out. If you legitimately want the -drive images
>> > snapshotted, but not the -blockdev ones, you can still use individual
>> > '-drive snapshot=on' options instead of the global '-snapshot' (and the
>> > error message should mention this).
>>
>> I didn't know that! I normally use the -snapshot as global option. Is there a
>> reason why -blockdev isn't honouring -snapshot?
>
> The philosophy behind -blockdev is that you're explicit about every
> image file (and other block node) you want to use and that QEMU doesn't
> magically insert or change things behind your back.
>
> For simple use cases that might not seem necessary, but many of the
> newer functions added to the block layer, like the block jobs, are
> operations that can work on any node in the block graph (i.e. any of the
> open images, including backing files etc.). If QEMU changed something
> behind your back, you can easily access the wrong image. Especially for
> management software like libvirt this kind of magic that -drive involves
> was really hard to work with because it always had to second guess what
> the world _really_ looked like on the QEMU side.
>
> For example, imagine you open foo.img with -snapshot. Now you want to
> create a backup of your current state, so tell QEMU to backup the block
> node for foo.img because that's what your VM is currently running on,
> right? Except that nobody told you that the active image is actually a
> temporary qcow2 image file that -snapshot created internally. You're
> backing up the wrong image without the changes of your running VM.
>
> So it's better to always be explicit, and then it's unambiguous which
> image file you really mean in operations.
With that in mind please review:
Subject: [PATCH v3] qemu-options: finesse the recommendations around -blockdev
Date: Thu, 6 Apr 2023 10:53:17 +0100
Message-Id: <20230406095317.3321318-1-alex.bennee@linaro.org>
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
next prev parent reply other threads:[~2023-04-11 13:05 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-03 13:49 [PATCH v2 00/11] more misc fixes for 8.0 (tests, gdbstub, meta, docs) Alex Bennée
2023-04-03 13:49 ` [PATCH v2 01/11] scripts/coverage: initial coverage comparison script Alex Bennée
2023-04-03 13:49 ` [PATCH v2 02/11] gdbstub: Only build libgdb_user.fa / libgdb_softmmu.fa if necessary Alex Bennée
2023-04-03 13:49 ` [PATCH v2 03/11] gdbstub: don't report auxv feature unless on Linux Alex Bennée
2023-04-03 13:49 ` [PATCH v2 04/11] MAINTAINERS: add a section for policy documents Alex Bennée
2023-04-03 13:49 ` [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev Alex Bennée
2023-04-04 13:57 ` Kevin Wolf
2023-04-04 14:55 ` Alex Bennée
2023-04-04 15:07 ` Michael Tokarev
2023-04-04 16:17 ` Kevin Wolf
2023-04-06 20:23 ` Reinoud Zandijk
2023-04-11 12:09 ` Kevin Wolf
2023-04-11 13:03 ` Alex Bennée [this message]
2023-04-03 13:49 ` [PATCH v2 06/11] metadata: add .git-blame-ignore-revs Alex Bennée
2023-04-03 13:49 ` [PATCH v2 07/11] Use hexagon toolchain version 16.0.0 Alex Bennée
2023-04-03 13:49 ` [PATCH v2 08/11] tests/qemu-iotests: explicitly invoke 'check' via 'python' Alex Bennée
2023-04-03 13:49 ` [PATCH v2 09/11] tests/vm: use the default system python for NetBSD Alex Bennée
2023-04-04 11:24 ` Philippe Mathieu-Daudé
2023-04-03 13:49 ` [PATCH v2 10/11] gitlab: fix typo Alex Bennée
2023-04-03 13:49 ` [PATCH v2 11/11] tests/avocado: Test Xen guest support under KVM Alex Bennée
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=87o7nupo25.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=bleal@redhat.com \
--cc=crosa@redhat.com \
--cc=hreitz@redhat.com \
--cc=imp@bsdimp.com \
--cc=kevans@freebsd.org \
--cc=kvm@vger.kernel.org \
--cc=kwolf@redhat.com \
--cc=mjt@tls.msk.ru \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=reinoud@netbsd.org \
--cc=ryoon@netbsd.org \
--cc=thuth@redhat.com \
--cc=wainersm@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).