[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 06/12] nbd-server: Clear "can_read" when "dev
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH v3 06/12] nbd-server: Clear "can_read" when "device io" blocker is set |
Date: |
Tue, 19 May 2015 10:26:08 +0800 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Mon, 05/18 20:35, Max Reitz wrote:
> On 15.05.2015 08:04, Fam Zheng wrote:
> >So that NBD export cannot submit IO during bdrv_drain_all().
> >
> >Signed-off-by: Fam Zheng <address@hidden>
> >---
> > nbd.c | 18 ++++++++++++++++++
> > 1 file changed, 18 insertions(+)
>
> But can_read is not cleared until nbd_update_can_read() is called, which is
> only in nbd_request_get(), nbd_request_put(), and nbd_co_receive_request(),
> which are all called from nbd_trip() - so the one request which clears
> can_read will most probably be itself processed.
>
> Maybe we should call nbd_update_can_read() in nbd_op_blocker_changed(), for
> all clients of the export? Or just once somewhere at the beginning of
> processing a request, and if io_blocked is set, just yield...
I think you're right. I'll fix that.
Fam
- [Qemu-devel] [PATCH v3 00/12] Fix transactional snapshot with dataplane and NBD export, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 01/12] block: Add op blocker type "device IO", Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 02/12] block: Add op blocker notifier list, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 03/12] block-backend: Add blk_op_blocker_add_notifier, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 06/12] nbd-server: Clear "can_read" when "device io" blocker is set, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 05/12] virtio-blk: Don't handle output when there is "device IO" op blocker, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 08/12] blockdev: Block device IO during external snapshot transaction, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 09/12] blockdev: Block device IO during drive-backup transaction, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 07/12] blockdev: Block device IO during internal snapshot transaction, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 11/12] block: Block "device IO" during bdrv_drain and bdrv_drain_all, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 10/12] blockdev: Block device IO during blockdev-backup transaction, Fam Zheng, 2015/05/15
- [Qemu-devel] [PATCH v3 04/12] virtio-blk: Move complete_request to 'ops' structure, Fam Zheng, 2015/05/15