[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -b
From: |
Alex Bennée |
Subject: |
Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev |
Date: |
Tue, 11 Apr 2023 14:03:36 +0100 |
User-agent: |
mu4e 1.10.0; emacs 29.0.90 |
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
- [PATCH v2 03/11] gdbstub: don't report auxv feature unless on Linux, (continued)
- [PATCH v2 03/11] gdbstub: don't report auxv feature unless on Linux, Alex Bennée, 2023/04/03
- [PATCH v2 02/11] gdbstub: Only build libgdb_user.fa / libgdb_softmmu.fa if necessary, Alex Bennée, 2023/04/03
- [PATCH v2 04/11] MAINTAINERS: add a section for policy documents, Alex Bennée, 2023/04/03
- [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev, Alex Bennée, 2023/04/03
- Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev, Kevin Wolf, 2023/04/04
- Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev, Alex Bennée, 2023/04/04
- Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev, Michael Tokarev, 2023/04/04
- Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev, Kevin Wolf, 2023/04/04
- Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev, Reinoud Zandijk, 2023/04/06
- Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev, Kevin Wolf, 2023/04/11
- Re: [PATCH v2 05/11] qemu-options: finesse the recommendations around -blockdev,
Alex Bennée <=
[PATCH v2 01/11] scripts/coverage: initial coverage comparison script, Alex Bennée, 2023/04/03
[PATCH v2 06/11] metadata: add .git-blame-ignore-revs, Alex Bennée, 2023/04/03
[PATCH v2 10/11] gitlab: fix typo, Alex Bennée, 2023/04/03
[PATCH v2 07/11] Use hexagon toolchain version 16.0.0, Alex Bennée, 2023/04/03
[PATCH v2 09/11] tests/vm: use the default system python for NetBSD, Alex Bennée, 2023/04/03
[PATCH v2 11/11] tests/avocado: Test Xen guest support under KVM, Alex Bennée, 2023/04/03
[PATCH v2 08/11] tests/qemu-iotests: explicitly invoke 'check' via 'python', Alex Bennée, 2023/04/03