qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	qemu-devel@nongnu.org
Cc: qemu-block@nongnu.org, armbru@redhat.com, eblake@redhat.com,
	hreitz@redhat.com, kwolf@redhat.com, jsnow@redhat.com,
	den@virtuozzo.com, t.lamprecht@proxmox.com,
	alexander.ivanov@virtuozzo.com
Subject: Re: [PATCH 0/9] mirror: allow switching from background to active mode
Date: Wed, 1 Mar 2023 15:49:17 +0100	[thread overview]
Message-ID: <7a47d765-7e52-579b-64e2-c42345bccada@proxmox.com> (raw)
In-Reply-To: <bf90a430-226f-085c-557e-4c1c5f8787f3@yandex-team.ru>

Am 01.03.23 um 15:34 schrieb Vladimir Sementsov-Ogievskiy:
> On 24.02.23 17:48, Fiona Ebner wrote:
>> With active mode, the guest write speed is limited by the synchronous
>> writes to the mirror target. For this reason, management applications
>> might want to start out in background mode and only switch to active
>> mode later, when certain conditions are met. This series adds a
>> block-job-change QMP command to acheive that, as well as
>> job-type-specific information when querying block jobs, which
>> can be used to decide when the switch should happen.
>>
>> For now, only the direction background -> active is supported.
>>
>> The information added upon querying is whether the target is actively
>> synced, the total data sent, and the remaining dirty bytes.
>>
>> Initially, I tried to go for a more general 'job-change' command, but
>> I couldn't figure out a way to avoid mutual inclusion between
>> block-core.json and job.json.
> 
> Hmm, what do you mean? As I understand job-* API is "new" and
> block-job-* is "old", so we'd better add job-change command
> 

My issue is that when I go for that with a JobChangeOptions union in
job.json and declare JobChangeOptionsMirror in block-core.json (it needs
to know about MirrorCopyMode and all other mirror-related declarations
are there so it's the natural place), then I need to include
block-core.json in job.json so that the JobChangeOptions union can
reference JobChangeOptionsMirror. But that is a mutual inclusion.

I guess it would be possible to move MirrorCopyMode to job.json and
declare JobChangeOptionsMirror in job.json, but that didn't feel right
and would mean moving more and more to job.json whenever extending
job-change requires it.

But maybe I'm missing something obvious? Haven't worked much with the
QAPI yet.



      reply	other threads:[~2023-03-01 14:50 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-24 14:48 [PATCH 0/9] mirror: allow switching from background to active mode Fiona Ebner
2023-02-24 14:48 ` [PATCH 1/9] blockjob: introduce block-job-change QMP command Fiona Ebner
2023-02-24 14:48 ` [PATCH 2/9] block/mirror: set actively_synced even after the job is ready Fiona Ebner
2023-03-01 14:34   ` Vladimir Sementsov-Ogievskiy
2023-02-24 14:48 ` [PATCH 3/9] mirror: implement mirror_change method Fiona Ebner
2023-03-01 15:18   ` Vladimir Sementsov-Ogievskiy
2023-03-02 10:00     ` Fiona Ebner
2023-02-24 14:48 ` [PATCH 4/9] qapi/block-core: use JobType for BlockJobInfo's type Fiona Ebner
2023-03-01 16:27   ` Vladimir Sementsov-Ogievskiy
2023-02-24 14:48 ` [PATCH 5/9] qapi/block-core: turn BlockJobInfo into a union Fiona Ebner
2023-03-01 16:28   ` Vladimir Sementsov-Ogievskiy
2023-02-24 14:48 ` [PATCH 6/9] blockjob: query driver-specific info via a new 'query' driver method Fiona Ebner
2023-02-24 14:48 ` [PATCH 7/9] mirror: return mirror-specific information upon query Fiona Ebner
2023-02-24 14:48 ` [PATCH 8/9] mirror: return the remaining dirty bytes " Fiona Ebner
2023-03-01 16:31   ` Vladimir Sementsov-Ogievskiy
2023-03-02 10:00     ` Fiona Ebner
2023-03-02 10:13       ` Vladimir Sementsov-Ogievskiy
2023-03-02 12:34         ` Fiona Ebner
2023-03-02 16:31           ` Vladimir Sementsov-Ogievskiy
2023-03-03  7:47             ` Fiona Ebner
2023-02-24 14:48 ` [PATCH 9/9] mirror: return the total number of bytes sent " Fiona Ebner
2023-03-01 14:34 ` [PATCH 0/9] mirror: allow switching from background to active mode Vladimir Sementsov-Ogievskiy
2023-03-01 14:49   ` Fiona Ebner [this message]

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=7a47d765-7e52-579b-64e2-c42345bccada@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=alexander.ivanov@virtuozzo.com \
    --cc=armbru@redhat.com \
    --cc=den@virtuozzo.com \
    --cc=eblake@redhat.com \
    --cc=hreitz@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@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).