From: Max Reitz <mreitz@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>
Cc: qemu-block@nongnu.org, jcody@redhat.com, qemu-devel@nongnu.org,
armbru@redhat.com, Stefan Hajnoczi <stefanha@redhat.com>,
amit.shah@redhat.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH v6 01/13] block: Add op blocker type "device IO"
Date: Tue, 26 May 2015 16:24:32 +0200 [thread overview]
Message-ID: <55648220.1030206@redhat.com> (raw)
In-Reply-To: <20150526142210.GI24077@noname.str.redhat.com>
On 26.05.2015 16:22, Kevin Wolf wrote:
> Am 21.05.2015 um 08:42 hat Fam Zheng geschrieben:
>> It blocks device IO.
> What I'm missing here is a description of the case that it protects
> against. Blocking device I/O doesn't sound like a valid thing to want
> per se, but it might be true that we need it as long as we don't have
> the "real" op blockers that Jeff is working on. However, as long as you
> don't say why you want that, I can't say whether it's true or not.
>
> And of course, it doesn't block anything yet after this patch, it's just
> set or cleared without any effect. In fact, it seems that even at the
> end of the series, there is no bdrv_op_is_blocked() call that checks for
> BLOCK_OP_TYPE_DEVICE_IO. Is this intentional?
Probably yes, because patches 2 and 3 introduce a notifier for when op
blockers are set up and removed. This is used by virtio-blk and
virtio-scsi to pause and unpause device I/O, respectively.
Max
>> All bdrv_op_block_all/blk_op_block_all callers are taken care of:
>>
>> - virtio_blk_data_plane_create
>> - virtio_scsi_hotplug
>>
>> Device creation, unblock it.
>>
>> - bdrv_set_backing_hd
>>
>> Backing hd is not used by device, so blocking is OK.
> If the backing file becomes the active layer after committing,
> bdrv_swap() will keep the blockers of the overlay, so that the image
> doesn't have the device I/O blocker any more. Correct?
>
>> - backup_start
>>
>> Blocking target when backup is running, unblock it.
>>
>> - mirror_complete
>>
>> Blocking s->to_replace until mirror_exit, OK.
>>
>> - block_job_complete
>>
>> The block job may be long running. Unblock it.
>>
>> - init_blk_migration
>>
>> The block migration may be long running, Unblock it.
>>
>> Signed-off-by: Fam Zheng <famz@redhat.com>
> Kevin
next prev parent reply other threads:[~2015-05-26 14:24 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-21 6:42 [Qemu-devel] [PATCH v6 00/13] Fix transactional snapshot with dataplane and NBD export Fam Zheng
2015-05-21 6:42 ` [Qemu-devel] [PATCH v6 01/13] block: Add op blocker type "device IO" Fam Zheng
2015-05-21 7:06 ` Wen Congyang
2015-05-21 7:32 ` Fam Zheng
2015-05-22 4:54 ` Fam Zheng
2015-05-23 16:51 ` Max Reitz
2015-05-25 2:15 ` Fam Zheng
2015-05-21 8:00 ` Wen Congyang
2015-05-21 12:44 ` Fam Zheng
2015-05-22 6:18 ` Wen Congyang
2015-05-26 14:22 ` Kevin Wolf
2015-05-26 14:24 ` Max Reitz [this message]
2015-05-27 9:07 ` Kevin Wolf
2015-05-27 9:50 ` Paolo Bonzini
2015-05-27 10:10 ` Kevin Wolf
2015-05-27 10:43 ` Paolo Bonzini
2015-05-28 2:49 ` Fam Zheng
2015-05-28 8:23 ` Paolo Bonzini
2015-05-28 10:46 ` Fam Zheng
2015-05-28 10:52 ` Paolo Bonzini
2015-05-28 11:11 ` Fam Zheng
2015-05-28 11:19 ` Paolo Bonzini
2015-05-28 12:05 ` Fam Zheng
2015-05-29 11:11 ` Andrey Korolyov
2015-05-30 13:21 ` Paolo Bonzini
2015-05-28 9:40 ` Kevin Wolf
2015-05-28 10:55 ` Fam Zheng
2015-05-28 11:00 ` Paolo Bonzini
2015-05-28 11:24 ` Kevin Wolf
2015-05-28 11:41 ` Paolo Bonzini
2015-05-28 11:44 ` Fam Zheng
2015-05-28 11:47 ` Paolo Bonzini
2015-05-28 12:04 ` Fam Zheng
2015-05-21 6:42 ` [Qemu-devel] [PATCH v6 02/13] block: Add op blocker notifier list Fam Zheng
2015-05-21 6:42 ` [Qemu-devel] [PATCH v6 03/13] block-backend: Add blk_op_blocker_add_notifier Fam Zheng
2015-05-21 6:42 ` [Qemu-devel] [PATCH v6 04/13] virtio-blk: Move complete_request to 'ops' structure Fam Zheng
2015-05-21 6:42 ` [Qemu-devel] [PATCH v6 05/13] virtio-blk: Don't handle output when there is "device IO" op blocker Fam Zheng
2015-05-23 16:53 ` Max Reitz
2015-05-21 6:42 ` [Qemu-devel] [PATCH v6 06/13] virtio-scsi-dataplane: Add "device IO" op blocker listener Fam Zheng
2015-05-23 16:53 ` Max Reitz
2015-05-21 6:42 ` [Qemu-devel] [PATCH v6 07/13] nbd-server: Clear "can_read" when "device io" blocker is set Fam Zheng
2015-05-23 16:54 ` Max Reitz
2015-05-21 6:42 ` [Qemu-devel] [PATCH v6 08/13] blockdev: Block device IO during internal snapshot transaction Fam Zheng
2015-05-23 16:56 ` Max Reitz
2015-05-21 6:42 ` [Qemu-devel] [PATCH v6 09/13] blockdev: Block device IO during external " Fam Zheng
2015-05-23 16:58 ` Max Reitz
2015-05-21 6:43 ` [Qemu-devel] [PATCH v6 10/13] blockdev: Block device IO during drive-backup transaction Fam Zheng
2015-05-23 16:59 ` Max Reitz
2015-05-21 6:43 ` [Qemu-devel] [PATCH v6 11/13] blockdev: Block device IO during blockdev-backup transaction Fam Zheng
2015-05-23 17:05 ` Max Reitz
2015-05-21 6:43 ` [Qemu-devel] [PATCH v6 12/13] block: Block "device IO" during bdrv_drain and bdrv_drain_all Fam Zheng
2015-05-23 17:11 ` Max Reitz
2015-05-25 2:48 ` Fam Zheng
2015-05-26 14:21 ` Max Reitz
2015-05-21 6:43 ` [Qemu-devel] [PATCH v6 13/13] block/mirror: Block "device IO" during mirror exit Fam Zheng
2015-05-23 17:21 ` Max Reitz
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=55648220.1030206@redhat.com \
--to=mreitz@redhat.com \
--cc=amit.shah@redhat.com \
--cc=armbru@redhat.com \
--cc=famz@redhat.com \
--cc=jcody@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@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).