qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/9] blockdev: Further BlockBackend work
@ 2015-02-24 16:23 Max Reitz
  2015-02-24 16:23 ` [Qemu-devel] [PATCH 1/9] block: Add blk_name_taken() Max Reitz
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Max Reitz @ 2015-02-24 16:23 UTC (permalink / raw)
  To: qemu-block, qemu-devel
  Cc: Kevin Wolf, Markus Armbruster, Stefan Hajnoczi, Max Reitz

Overall, this series adds more uses for BlockBackends and makes the code
follow the "reference theory" more closely, in that any BlockBackend
created (through -drive or blockdev-add) has a reference count of 1, and
that reference should be held by the monitor. This is reflected here by
introducing an explicit list of monitor-owned BlockBackends, which in
turn allows us to remove bdrv_states, and, perhaps most importantly,
blk_hide_on_behalf_of_do_drive_del().


This series depends on v3 (or any later version) of my series
"block: Rework bdrv_close_all()" (or any later version).


Differences between the patches here and the ones included in v2 of
"block: Rework bdrv_close_all()":
- Patch 4: bdrv_close_all() looks different now
- Patch 5:
  - Fixed several bugs relating to blockdev_auto_del()
    (monitor_remove_blk() is now idempotent, so it is just called
    everywhere where we want the BB to disappear)
  - monitor_blk_unref() does no longer exist


git-backport-diff against v2 of "block: Rework bdrv_close_all()":

Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/9:[----] [-C] 'block: Add blk_name_taken()'
002/9:[----] [--] 'block: Add blk_next_inserted()'
003/9:[----] [--] 'block: Add blk_commit_all() and blk_invalidate_cache_all()'
004/9:[0008] [FC] 'block: Use BlockBackend more'
005/9:[0025] [FC] 'blockdev: Add list of monitor-owned BlockBackends'
006/9:[----] [-C] 'blockdev: Remove blk_hide_on_behalf_of_do_drive_del()'
007/9:[----] [--] 'block: Make bdrv_drain_one() public'
008/9:[----] [-C] 'block: Move some bdrv_*_all() functions to BB'
009/9:[----] [-C] 'block: Remove bdrv_states'


Max Reitz (9):
  block: Add blk_name_taken()
  block: Add blk_next_inserted()
  block: Add blk_commit_all() and blk_invalidate_cache_all()
  block: Use BlockBackend more
  blockdev: Add list of monitor-owned BlockBackends
  blockdev: Remove blk_hide_on_behalf_of_do_drive_del()
  block: Make bdrv_drain_one() public
  block: Move some bdrv_*_all() functions to BB
  block: Remove bdrv_states

 block.c                        | 138 +++------------------------
 block/block-backend.c          | 211 +++++++++++++++++++++++++++++++++--------
 block/qapi.c                   |  13 ++-
 block/snapshot.c               |   3 +-
 blockdev.c                     |  19 ++--
 cpus.c                         |   7 +-
 include/block/block.h          |   5 -
 include/block/block_int.h      |   4 +-
 include/sysemu/block-backend.h |   8 +-
 migration/block.c              |  10 +-
 migration/migration.c          |   4 +-
 monitor.c                      |  13 ++-
 qemu-char.c                    |   3 +-
 qemu-io.c                      |   2 +-
 qmp.c                          |   9 +-
 savevm.c                       |  66 +++++++------
 stubs/Makefile.objs            |   2 +-
 stubs/bdrv-commit-all.c        |   7 --
 stubs/blk-commit-all.c         |   7 ++
 xen-mapcache.c                 |   3 +-
 20 files changed, 293 insertions(+), 241 deletions(-)
 delete mode 100644 stubs/bdrv-commit-all.c
 create mode 100644 stubs/blk-commit-all.c

-- 
2.1.0

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

end of thread, other threads:[~2015-02-24 17:17 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-24 16:23 [Qemu-devel] [PATCH 0/9] blockdev: Further BlockBackend work Max Reitz
2015-02-24 16:23 ` [Qemu-devel] [PATCH 1/9] block: Add blk_name_taken() Max Reitz
2015-02-24 16:23 ` [Qemu-devel] [PATCH 2/9] block: Add blk_next_inserted() Max Reitz
2015-02-24 16:23 ` [Qemu-devel] [PATCH 3/9] block: Add blk_commit_all() and blk_invalidate_cache_all() Max Reitz
2015-02-24 16:23 ` [Qemu-devel] [PATCH 4/9] block: Use BlockBackend more Max Reitz
2015-02-24 16:23 ` [Qemu-devel] [PATCH 5/9] blockdev: Add list of monitor-owned BlockBackends Max Reitz
2015-02-24 16:23 ` [Qemu-devel] [PATCH 6/9] blockdev: Remove blk_hide_on_behalf_of_do_drive_del() Max Reitz
2015-02-24 16:23 ` [Qemu-devel] [PATCH 7/9] block: Make bdrv_drain_one() public Max Reitz
2015-02-24 16:23 ` [Qemu-devel] [PATCH 8/9] block: Move some bdrv_*_all() functions to BB Max Reitz
2015-02-24 16:23 ` [Qemu-devel] [PATCH 9/9] block: Remove bdrv_states Max Reitz

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