qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Beraldo Leal" <bleal@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Aurelien Jarno" <aurelien@aurel32.net>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Juan Quintela" <quintela@redhat.com>,
	"Cédric Le Goater" <clg@kaod.org>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Joel Stanley" <joel@jms.id.au>,
	"Leif Lindholm" <quic_llindhol@quicinc.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Radoslaw Biernacki" <rad@semihalf.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"John Snow" <jsnow@redhat.com>,
	"Andrew Jeffery" <andrew@aj.id.au>,
	"David Hildenbrand" <david@redhat.com>,
	"Bastian Koppelmann" <kbastian@mail.uni-paderborn.de>,
	"Max Filippov" <jcmvbkbc@gmail.com>,
	qemu-s390x@nongnu.org, "Cleber Rosa" <crosa@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	qemu-arm@nongnu.org, "Eduardo Habkost" <eduardo@habkost.net>,
	"Ilya Leoshkevich" <iii@linux.ibm.com>,
	"Michael Tokarev" <mjt@tls.msk.ru>,
	"Kevin Wolf" <kwolf@redhat.com>
Subject: [PATCH 06/18] qemu-options: finesse the recommendations around -blockdev
Date: Mon, 24 Apr 2023 10:22:37 +0100	[thread overview]
Message-ID: <20230424092249.58552-7-alex.bennee@linaro.org> (raw)
In-Reply-To: <20230424092249.58552-1-alex.bennee@linaro.org>

We are a bit premature in recommending -blockdev/-device as the best
way to configure block devices. It seems there are times the more
human friendly -drive still makes sense especially when -snapshot is
involved.

Improve the language to hopefully make things clearer.

Suggested-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230330101141.30199-5-alex.bennee@linaro.org>

---
v3
  - more re-wording to try and approach consensus
  - add explicit warning to -snapshot option
---
 qemu-options.hx | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/qemu-options.hx b/qemu-options.hx
index 04c259157a..baa0589733 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1143,10 +1143,22 @@ have gone through several iterations as the feature set and complexity
 of the block layer have grown. Many online guides to QEMU often
 reference older and deprecated options, which can lead to confusion.
 
-The recommended modern way to describe disks is to use a combination of
+The most explicit way to describe disks is to use a combination of
 ``-device`` to specify the hardware device and ``-blockdev`` to
 describe the backend. The device defines what the guest sees and the
-backend describes how QEMU handles the data.
+backend describes how QEMU handles the data. It is the only guaranteed
+stable interface for describing block devices and as such is
+recommended for management tools and scripting.
+
+The ``-drive`` option combines the device and backend into a single
+command line option which is a more human friendly. There is however no
+interface stability guarantee although some older board models still
+need updating to work with the modern blockdev forms.
+
+Older options like ``-hda`` are essentially macros which expand into
+``-drive`` options for various drive interfaces. The original forms
+bake in a lot of assumptions from the days when QEMU was emulating a
+legacy PC, they are not recommended for modern configurations.
 
 ERST
 
@@ -1639,6 +1651,14 @@ SRST
     the raw disk image you use is not written back. You can however
     force the write back by pressing C-a s (see the :ref:`disk images`
     chapter in the System Emulation Users Guide).
+
+    .. warning::
+       snapshot is incompatible with ``-blockdev`` (instead use qemu-img
+       to manually create snapshot images to attach to your blockdev).
+       If you have mixed ``-blockdev`` and ``-drive`` declarations you
+       can use the 'snapshot' property on your drive declarations
+       instead of this global option.
+
 ERST
 
 DEF("fsdev", HAS_ARG, QEMU_OPTION_fsdev,
-- 
2.39.2



  parent reply	other threads:[~2023-04-24  9:25 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-24  9:22 [PATCH 00/18] testing/next: avocado, docs (pre-PR) Alex Bennée
2023-04-24  9:22 ` [PATCH 01/18] tests/requirements.txt: bump up avocado-framework version to 101.0 Alex Bennée
2023-04-24  9:22 ` [PATCH 02/18] tests/avocado: use the new snapshots for testing Alex Bennée
2023-04-24  9:27   ` Thomas Huth
2023-04-24  9:22 ` [PATCH 03/18] tests/avocado: Add set of boot tests on SBSA-ref Alex Bennée
2023-04-24  9:22 ` [PATCH 04/18] gitlab-ci: Avoid to re-run "configure" in the device-crash-test jobs Alex Bennée
2023-04-24  9:22 ` [PATCH 05/18] scripts/device-crash-test: Add a parameter to run with TCG only Alex Bennée
2023-04-24  9:22 ` Alex Bennée [this message]
2023-04-24  9:22 ` [PATCH 07/18] .gitlab-ci.d/cirrus: Drop the CI job for compiling with FreeBSD 12 Alex Bennée
2023-04-24 10:46   ` Richard Henderson
2023-04-24  9:22 ` [PATCH 08/18] tests/avocado: Make ssh_command_output_contains() globally available Alex Bennée
2023-04-24  9:22 ` [PATCH 09/18] tests/avocado/machine_aspeed: Fix the broken ast2[56]00_evb_sdk tests Alex Bennée
2023-04-24  9:22 ` [PATCH 10/18] MAINTAINERS: Cover tests/avocado/machine_aspeed.py Alex Bennée
2023-04-24  9:22 ` [PATCH 11/18] avocado_qemu/__init__.py: factor out the qemu-img finding Alex Bennée
2023-04-24  9:22 ` [PATCH 12/18] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64 Alex Bennée
2023-04-24  9:22 ` [PATCH 13/18] tests/tcg: limit the scope of the plugin tests Alex Bennée
2023-04-24  9:22 ` [PATCH 14/18] qemu-options.hx: Update descriptions of memory options for NUMA node Alex Bennée
2023-04-24  9:22 ` [PATCH 15/18] docs/system: remove excessive punctuation from guest-loader docs Alex Bennée
2023-04-24  9:22 ` [PATCH 16/18] docs/devel: make a statement about includes Alex Bennée
2023-04-24  9:22 ` [PATCH 17/18] docs/devel: mention the spacing requirement for QOM Alex Bennée
2023-04-26  8:48   ` Mark Cave-Ayland
2023-04-24  9:22 ` [PATCH 18/18] docs/style: call out the use of GUARD macros 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=20230424092249.58552-7-alex.bennee@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=andrew@aj.id.au \
    --cc=armbru@redhat.com \
    --cc=aurelien@aurel32.net \
    --cc=berrange@redhat.com \
    --cc=bleal@redhat.com \
    --cc=clg@kaod.org \
    --cc=crosa@redhat.com \
    --cc=david@redhat.com \
    --cc=edgar.iglesias@gmail.com \
    --cc=eduardo@habkost.net \
    --cc=iii@linux.ibm.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=joel@jms.id.au \
    --cc=jsnow@redhat.com \
    --cc=kbastian@mail.uni-paderborn.de \
    --cc=kwolf@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mjt@tls.msk.ru \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=quic_llindhol@quicinc.com \
    --cc=quintela@redhat.com \
    --cc=rad@semihalf.com \
    --cc=richard.henderson@linaro.org \
    --cc=stefanha@redhat.com \
    --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).