From: Kevin Wolf <kwolf@redhat.com>
To: Fiona Ebner <f.ebner@proxmox.com>
Cc: "Denis V. Lunev" <den@virtuozzo.com>,
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
qemu-devel@nongnu.org, t.lamprecht@proxmox.com, jsnow@redhat.com,
hreitz@redhat.com, eblake@redhat.com, armbru@redhat.com,
qemu-block@nongnu.org,
Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Subject: Re: [PATCH] block/mirror: add 'write-blocking-after-ready' copy mode
Date: Thu, 2 Feb 2023 12:34:47 +0100 [thread overview]
Message-ID: <Y9uf1wlXQd4EIwxO@redhat.com> (raw)
In-Reply-To: <c3982fa3-be00-9cb2-7d71-5f784ac80864@proxmox.com>
Am 02.02.2023 um 11:19 hat Fiona Ebner geschrieben:
> Am 31.01.23 um 19:18 schrieb Denis V. Lunev:
> > Frankly speaking I would say that this switch could be considered
> > NOT QEMU job and we should just send a notification (event) for the
> > completion of the each iteration and management software should
> > take a decision to switch from async mode to the sync one.
My first thought was very similar. We should provide a building block
that just switches between the two modes and then the management tool
can decide what the right policy is.
Adding a new event when the first iteration is done (I'm not sure if
there is much value in having it for later iterations) makes sense to
me if someone wants to use it. If we add it, let's not forget that
events can be lost and clients must be able to query the same
information, so we'd have to add it to query-jobs, too - which in turn
requires adding a job type specific struct to JobInfo first.
Once we have this generic infrastructure with low-level building block,
I wouldn't necessarily be opposed to having an option build on top where
QEMU automatically does what we consider most useful for most users.
auto-finalize/dismiss already do something similar.
> Unfortunately, our management software is a bit limited in that regard
> currently and making listening for events available in the necessary
> place would take a bit of work. Having the switch command would nearly
> be enough for us (we'd just switch after READY). But we'd also need
> that when the switch happens after READY, that all remaining
> asynchronous operations are finished by the command. Otherwise, the
> original issue with inactivating block drives while mirror still has
> work remains. Do those semantics for the switch sound acceptable?
Completing the remaining asynchronous operations can take a while, so I
don't think it's something to be done in a synchronous QMP command.
Do we need an event that tells you that the switch has completed?
But having to switch the mirror job to sync mode just to avoid doing I/O
on an inactive device sounds wrong to me. It doesn't fix the root cause
of that problem, but just papers over it.
Why does your management tool not complete the mirror job before it
does the migration switchover that inactivates images?
Kevin
next prev parent reply other threads:[~2023-02-02 11:36 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-07 13:27 [PATCH] block/mirror: add 'write-blocking-after-ready' copy mode Fiona Ebner
2023-01-24 13:57 ` Fiona Ebner
2023-01-31 17:44 ` Vladimir Sementsov-Ogievskiy
2023-01-31 18:18 ` Denis V. Lunev
2023-02-02 10:19 ` Fiona Ebner
2023-02-02 11:09 ` Denis V. Lunev
2023-02-03 9:48 ` Fiona Ebner
2023-02-02 11:34 ` Kevin Wolf [this message]
2023-02-02 13:27 ` Fiona Ebner
2023-02-02 13:35 ` Denis V. Lunev
2023-02-02 15:23 ` Kevin Wolf
2023-02-14 15:58 ` Vladimir Sementsov-Ogievskiy
2023-02-14 16:19 ` Vladimir Sementsov-Ogievskiy
2023-02-21 10:57 ` Fiona Ebner
2023-02-21 11:27 ` Kevin Wolf
2023-02-14 14:29 ` Fiona Ebner
2023-02-14 16:48 ` Vladimir Sementsov-Ogievskiy
2023-02-02 10:18 ` Fiona Ebner
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=Y9uf1wlXQd4EIwxO@redhat.com \
--to=kwolf@redhat.com \
--cc=alexander.ivanov@virtuozzo.com \
--cc=armbru@redhat.com \
--cc=den@virtuozzo.com \
--cc=eblake@redhat.com \
--cc=f.ebner@proxmox.com \
--cc=hreitz@redhat.com \
--cc=jsnow@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=t.lamprecht@proxmox.com \
--cc=vsementsov@yandex-team.ru \
/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).