From: Markus Armbruster <armbru@redhat.com>
To: Juan Quintela <quintela@redhat.com>
Cc: qemu-devel@nongnu.org, "Daniel P. Berrangé" <berrange@redhat.com>,
"Fam Zheng" <fam@euphon.net>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Eric Blake" <eblake@redhat.com>,
libvir-list@redhat.com, "Fabiano Rosas" <farosas@suse.de>,
qemu-block@nongnu.org, "Peter Xu" <peterx@redhat.com>,
"Leonardo Bras" <leobras@redhat.com>,
"Dr. David Alan Gilbert" <dave@treblig.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Hailiang Zhang" <zhanghailiang@xfusion.com>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH v4 03/10] migration: migrate 'inc' command option is deprecated.
Date: Tue, 17 Oct 2023 07:53:27 +0200 [thread overview]
Message-ID: <87a5sheqw8.fsf@pond.sub.org> (raw)
In-Reply-To: <87fs2a3dei.fsf@secure.mitica> (Juan Quintela's message of "Mon, 16 Oct 2023 15:28:05 +0200")
Juan Quintela <quintela@redhat.com> writes:
> Markus Armbruster <armbru@redhat.com> wrote:
>> Juan Quintela <quintela@redhat.com> writes:
>>
>>> Markus Armbruster <armbru@redhat.com> wrote:
>>>> Juan Quintela <quintela@redhat.com> writes:
>>> So what I want, I want to remove -i/-b in the next version (9.0?). For
>>> the other, I want to remove it, but I don't care if the code is around
>>> in "deprecated" state for another couple of years if there are still
>>> people that feel that they want it.
>>>
>>> This is the reason that I put a pointer for -i/-b to
>>> @block/@block-incremental. They are "perfect" replacements.
>>>
>>> I can put here to use blockdev-mirror + NBD, but the replacement is not
>>> so direct.
>>>
>>> Does this make sense?
>>
>> I see where you're coming from. Now let's change perspective for a
>> minute: what's the purpose of deprecating stuff?
>>
>> We normally deprecate with intent to remove.
>>
>> We don't remove right away, because we promised to first deprecate for a
>> grace period, so users can adjust in an orderly manner. The deprecation
>> serves as signal "you need to adjust". The documentation that comes
>> with it should help with the adjustment. It's commonly of the form "use
>> $alternative instead". The alternative is often a direct replacement,
>> but not always. There could even be no replacement at all. We don't
>> promise replacements, we promise an orderly process, so users can
>> adjust.
>>
>> Sometimes, we don't have firm plans to remove, but are more like "maybe
>> remove when gets in the way". We could soften the "you need to adjust"
>> signal in documentation, but I doubt that's a good idea. Regardless,
>> the need to help users adjust remains.
>>
>> Back to your patches. There are two separate interfaces to block
>> migration, and both are deprecated at the end of the series:
>>
>> 1. Migration parameter @block-incremental & friends
>>
>> Not in the way, content to keep around for longer if it helps users.
>>
>> The deprecation documentation advises to use block-mirror with NBD
>> instead. All good.
>>
>> 2. QMP migrate parameters @inc and @blk
>>
>> Firm intent to remove as soon as the grace period expires, because
>> it's in the way.
>>
>> The deprecation documentation advises to use interface 1 instead.
>> But that's deprecated, too!
>>
>> Insufficiently careful readers will miss that the replacement is
>> deprecated, and just use it. Risks surprise when the replacement
>> goes away, too.
>>
>> More careful readers will realize that this advises to use something
>> we elsewhere advise not to use. Contradiction! Confusion ensues.
>>
>> On further reflection, these readers might conclude that the
>> *combined* advice is to use block-mirror with NBD instead. This is
>> correct.
>>
>> So why not tell them?
>>
>> Perhaps you'd like to give more nuanced advice, like "you should move
>> to block-mirror with NBD, but if that's not practical for you, you
>> should at least move to @block-incremental & friends, which will
>> likely stick around for longer." That's fine. All I'm asking for is
>> to not make things more confusing than they need to be :)
>>
>> [...]
>
> Telling this in deprecated.rst is enough? or you want me to put it also
> in the error/warn messages and qapi?
Let's make all of them point to blockdev-mirror with NBD. If you think
mentioning @block-incremental & friends would be useful in some or all
places would be useful, go ahead, I don't mind.
next prev parent reply other threads:[~2023-10-17 5:54 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-13 10:47 [PATCH v4 00/10] Migration deprecated parts Juan Quintela
2023-10-13 10:47 ` [PATCH v4 01/10] migration: Improve json and formatting Juan Quintela
2023-10-13 12:48 ` Markus Armbruster
2023-10-13 10:47 ` [PATCH v4 02/10] migration: Print block status when needed Juan Quintela
2023-10-13 10:47 ` [PATCH v4 03/10] migration: migrate 'inc' command option is deprecated Juan Quintela
2023-10-13 13:09 ` Markus Armbruster
2023-10-16 7:00 ` Juan Quintela
2023-10-16 9:42 ` Markus Armbruster
2023-10-16 13:28 ` Juan Quintela
2023-10-17 5:53 ` Markus Armbruster [this message]
2023-10-13 10:47 ` [PATCH v4 04/10] migration: migrate 'blk' " Juan Quintela
2023-10-13 13:11 ` Markus Armbruster
2023-10-13 10:47 ` [PATCH v4 05/10] migration: Deprecate block migration Juan Quintela
2023-10-13 10:47 ` [PATCH v4 06/10] migration: Deprecate old compression method Juan Quintela
2023-10-13 10:47 ` [PATCH v4 07/10] [RFC] migration: Make -i/-b an error for hmp and qmp Juan Quintela
2023-10-13 10:47 ` [PATCH v4 08/10] [RFC] migration: Remove helpers needed for -i/-b migrate options Juan Quintela
2023-10-13 10:47 ` [PATCH v4 09/10] [RFC] migration: Remove support for block_incremental Juan Quintela
2023-10-13 10:47 ` [PATCH v4 10/10] [RFC] migration: Remove block migration support Juan Quintela
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=87a5sheqw8.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=dave@treblig.org \
--cc=eblake@redhat.com \
--cc=fam@euphon.net \
--cc=farosas@suse.de \
--cc=leobras@redhat.com \
--cc=libvir-list@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
--cc=zhanghailiang@xfusion.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.