qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/16] block: Protect AIO context change with perm API
@ 2017-05-24  2:52 Fam Zheng
  2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 01/16] block: Define BLK_PERM_AIO_CONTEXT_CHANGE Fam Zheng
                   ` (16 more replies)
  0 siblings, 17 replies; 23+ messages in thread
From: Fam Zheng @ 2017-05-24  2:52 UTC (permalink / raw)
  To: qemu-devel; +Cc: Stefan Hajnoczi, Kevin Wolf, Max Reitz, qemu-block

v3: Move blk_set_aio_context to the front of mirror_start_job to avoid
    accessing target without acquiring its aio context. [Stefan]
    Use error_free_or_abort in test code. [Stefan]

v2: Address Stefan's comments:

    - Clean up redundancy in bdrv_format_default_perms change.
    - Add a test case to check both success/failure cases.
      A failure case is not possible at user interface level because of other
      checks we have, so write a unit test in tests/test-blk-perm.c.

Eject / change of scsi-cd on a virtio-scsi dataplane bus causes abort() because
the new BDS doesn't get proper bdrv_set_aio_context().

Store the AioContext in BB and do it in blk_insert_bs. That is done by
Vladimir's patch.

Other patches are to make sure such a bdrv_set_aio_context() doesn't interfere
with other BBs using other nodes from this graph.

Fam

Fam Zheng (15):
  block: Define BLK_PERM_AIO_CONTEXT_CHANGE
  block-backend: Add blk_request_perm
  blockjob: Add BLK_PERM_AIO_CONTEXT_CHANGE shared perm on bs
  blockjob: Allow aio context change on intermediate nodes
  block: Propagate BLK_PERM_AIO_CONTEXT_CHANGE down the graph
  backup: Request BLK_PERM_AIO_CONTEXT_CHANGE on target
  backup: Do initial aio context move of target via BB interface
  mirror: Request aio context change permission on target
  commit: Allow aio context change on s->base
  mirror: Do initial aio context move of target via BB interface
  virtio-scsi: Request BLK_PERM_AIO_CONTEXT_CHANGE for dataplane
  virtio-blk: Request BLK_PERM_AIO_CONTEXT_CHANGE for dataplane
  nbd: Allow BLK_PERM_AIO_CONTEXT_CHANGE on BB
  block: Add perm assertion on blk_set_aio_context
  tests: Add test case for BLK_PERM_AIO_CONTEXT_CHANGE

Vladimir Sementsov-Ogievskiy (1):
  blk: fix aio context loss on media change

 block.c                         | 12 ++++++---
 block/backup.c                  | 11 +++++++-
 block/block-backend.c           | 22 +++++++++++++++
 block/commit.c                  |  6 +++--
 block/mirror.c                  | 56 +++++++++++++++++++++++---------------
 block/stream.c                  |  3 ++-
 block/vvfat.c                   |  2 +-
 blockdev.c                      | 18 -------------
 blockjob.c                      |  3 +++
 hw/block/dataplane/virtio-blk.c | 15 ++++++++---
 hw/scsi/virtio-scsi.c           |  4 +++
 include/block/block.h           |  7 ++++-
 include/sysemu/block-backend.h  |  1 +
 nbd/server.c                    |  6 +++--
 tests/Makefile.include          |  2 ++
 tests/test-blk-perm.c           | 59 +++++++++++++++++++++++++++++++++++++++++
 16 files changed, 171 insertions(+), 56 deletions(-)
 create mode 100644 tests/test-blk-perm.c

-- 
2.9.4

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2017-06-07 12:13 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-24  2:52 [Qemu-devel] [PATCH v3 00/16] block: Protect AIO context change with perm API Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 01/16] block: Define BLK_PERM_AIO_CONTEXT_CHANGE Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 02/16] block-backend: Add blk_request_perm Fam Zheng
2017-05-31  9:41   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 03/16] blockjob: Add BLK_PERM_AIO_CONTEXT_CHANGE shared perm on bs Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 04/16] blockjob: Allow aio context change on intermediate nodes Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 05/16] block: Propagate BLK_PERM_AIO_CONTEXT_CHANGE down the graph Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 06/16] backup: Request BLK_PERM_AIO_CONTEXT_CHANGE on target Fam Zheng
2017-06-07 12:13   ` Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 07/16] backup: Do initial aio context move of target via BB interface Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 08/16] mirror: Request aio context change permission on target Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 09/16] commit: Allow aio context change on s->base Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 10/16] mirror: Do initial aio context move of target via BB interface Fam Zheng
2017-05-31  9:43   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 11/16] virtio-scsi: Request BLK_PERM_AIO_CONTEXT_CHANGE for dataplane Fam Zheng
2017-06-07  8:11   ` Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 12/16] virtio-blk: " Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 13/16] blk: fix aio context loss on media change Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 14/16] nbd: Allow BLK_PERM_AIO_CONTEXT_CHANGE on BB Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 15/16] block: Add perm assertion on blk_set_aio_context Fam Zheng
2017-05-24  2:52 ` [Qemu-devel] [PATCH v3 16/16] tests: Add test case for BLK_PERM_AIO_CONTEXT_CHANGE Fam Zheng
2017-05-31  9:45 ` [Qemu-devel] [Qemu-block] [PATCH v3 00/16] block: Protect AIO context change with perm API Stefan Hajnoczi
2017-05-31 10:46   ` Fam Zheng

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).