qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: Wenchao Xia <xiawenc@linux.vnet.ibm.com>, Kevin Wolf <kwolf@redhat.com>
Cc: "Benoît Canet" <benoit.canet@irqsave.net>,
	pbonzini <pbonzini@redhat.com>, "Fam Zheng" <famz@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"Stefan Hajnoczi" <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 2/2] qapi: Change BlockDirtyInfo to list
Date: Thu, 14 Nov 2013 10:22:56 +0800	[thread overview]
Message-ID: <52843400.5010103@redhat.com> (raw)
In-Reply-To: <528431B1.9040608@linux.vnet.ibm.com>



On 2013年11月14日 10:13, Wenchao Xia wrote:
> 于 2013/11/13 22:40, Fam Zheng 写道:
>> On Wed, Nov 13, 2013 at 10:19 PM, Kevin Wolf <kwolf@redhat.com> wrote:
>>> Am 13.11.2013 um 11:29 hat Fam Zheng geschrieben:
>>>> We have multiple dirty bitmaps in BDS now, switch QAPI to allow query
>>>> it (BlockInfo.dirty_bitmaps), and also drop old BlockInfo.dirty.
>>>>
>>>> Signed-off-by: Fam Zheng <famz@redhat.com>
>>>
>>>> diff --git a/qapi-schema.json b/qapi-schema.json
>>>> index 81a375b..931d710 100644
>>>> --- a/qapi-schema.json
>>>> +++ b/qapi-schema.json
>>>> @@ -948,8 +948,8 @@
>>>>   # @tray_open: #optional True if the device has a tray and it is open
>>>>   #             (only present if removable is true)
>>>>   #
>>>> -# @dirty: #optional dirty bitmap information (only present if the
>>>> dirty
>>>> -#         bitmap is enabled)
>>>> +# @dirty-bitmaps: #optional dirty bitmaps information (only present
>>>> if the
>>>> +#                 driver has one or more dirty bitmaps)
>>>>   #
>>>>   # @io-status: #optional @BlockDeviceIoStatus. Only present if the
>>>> device
>>>>   #             supports it and the VM is configured to stop on errors
>>>> @@ -963,7 +963,7 @@
>>>>     'data': {'device': 'str', 'type': 'str', 'removable': 'bool',
>>>>              'locked': 'bool', '*inserted': 'BlockDeviceInfo',
>>>>              '*tray_open': 'bool', '*io-status': 'BlockDeviceIoStatus',
>>>> -           '*dirty': 'BlockDirtyInfo' } }
>>>> +           '*dirty-bitmaps': ['BlockDirtyInfo'] } }
>>>>
>>>>   ##
>>>>   # @query-block:
>>>
>>> I believe this is of limited use; if you ever have more than one dirty
>>> bitmap, we're lacking information to associate it with the job it
>>> belongs to. One option would be to extend BlockDirtyInfo to indicate
>>> this, but another might be to actually extend other commands like
>>> query-block-jobs to return information on the dirty bitmap associated
>>> with a specific job.
>>>
>>> I've applied it to block-next anyway, we still have some time to
>>> reconsider for 1.8.
>>>
>>
>> Another case for this may be user enabled external dirty bitmap, which
>> could be standalone from any block job. E.g. when we introduce a QMP
>> command like:
>>
>> block-new-dirty-bitmap device=foo file=bar.bitmap
>>
>> This could be some code in block.c, could be a block job (really
>> necessary?), or a block filter. I'm not sure...
>>
>> Fam
>>
>    This command is for sure useful, but not quite a core block fuction,
> so hope it would not be in block.c. I think there is another problem
> need to solve: how to let user read "bar.bitmap", three options here:
> qemu-img dump, a new qmp command, a library. It seems a library is
> better(probably qmp interface is also needed).
>

Yes, block.c is certainly too ad hoc and I don't like it either.

I didn't go deep into this yet, I think we need to discuss these in a 
separate thread. Indeed there's much to decide: where the code lies, 
what format we would use and how to ensure consistency, etc.

Fam

  reply	other threads:[~2013-11-14  2:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-13 10:29 [Qemu-devel] [PATCH v3 0/2] block: per caller dirty bitmap Fam Zheng
2013-11-13 10:29 ` [Qemu-devel] [PATCH v3 1/2] " Fam Zheng
2013-11-13 14:33   ` Fam Zheng
2013-11-13 14:36     ` Kevin Wolf
2013-11-13 10:29 ` [Qemu-devel] [PATCH v3 2/2] qapi: Change BlockDirtyInfo to list Fam Zheng
2013-11-13 14:19   ` Kevin Wolf
2013-11-13 14:40     ` Paolo Bonzini
2013-11-13 14:40     ` Fam Zheng
2013-11-14  2:13       ` Wenchao Xia
2013-11-14  2:22         ` Fam Zheng [this message]
2013-11-13 20:37     ` Eric Blake
2013-11-13 20:44   ` Eric Blake
2013-11-14  2:33     ` [Qemu-devel] [PATCH] qapi: Add (Since 1.8) to BlockInfo.dirty-bitmaps Fam Zheng
2013-11-14 12:19       ` Kevin Wolf
2013-11-14  1:31   ` [Qemu-devel] [PATCH v3 2/2] qapi: Change BlockDirtyInfo to list Wenchao Xia
2013-11-14  1:39     ` Fam Zheng
2013-11-14  2:03     ` Eric Blake

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=52843400.5010103@redhat.com \
    --to=famz@redhat.com \
    --cc=benoit.canet@irqsave.net \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=xiawenc@linux.vnet.ibm.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).