All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/19] block: bdrv_reopen() patches
@ 2012-09-18 18:53 Jeff Cody
  2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 01/19] block: correctly set the keep_read_only flag Jeff Cody
                   ` (18 more replies)
  0 siblings, 19 replies; 30+ messages in thread
From: Jeff Cody @ 2012-09-18 18:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, pbonzini, stefanha, eblake, supriyak

These patches are based off Supriya Kannery's original bdrv_reopen()
patches as part of the hostcache series.

This provides support for safe reopen of a single image, or transactional
reopening of multiple images atomically.


Changes form v2 -> v3:

Patch 03/19: [Paolo] BlockReopenQueue is now only passed to the _prepare
                     functions.
Patch 06/19: [Kevin, Paolo] New. Purge imporper usage of BDRV_O_CACHE_WB.
Patch 07/19: [Paolo] New. Use BDRV_O_NOCACHE instead of align_buf.
Patch 08/19: [Paolo] New. Purge aligned_buf and aligned_buf_size.
Patch 09/19: [Paolo] reopen no longer uses aligned_buf. BlockReopenQueue is
                     now passed only to the _prepare() functions.
Patch 10/19 - 14/19: [Paolo] Removed unneeded _commit() and _abort() stubs
Patch 15/19: [Paolo] BlockReopenQueue is now only passed to the _prepare
                     functions.
Patch 16/19: [Paolo] New.  Support new image format.
Patch 17/19: [Paolo] New.  Support new image format.



Changes from v1 -> v2:

Patch 01/16: None

Patch 02/16: New patch

Patch 03/16: [Kevin] Use QSIMPLEQ_FOREACH_SAFE
             [Kevin] Use BDRV_O_ALLOW_RDWR flag instead of keep_read_only
             [Kevin] Preserve error on failure of bdrv_flush()
             [Kevin] bdrv_reopen_prepare() no longer calls bdrv_reopen_abort()
             [Kevin] Directly embed BDRVReopenState field in
                     BlockReopenQueueEntry, rather than by reference
             [Jeff]  Add BlockReopenQueue field to the BDRVReopenState struct
 
             Feedback not incorporated:
             --------------------------
             [Kevin] Sharing 3 of the BDS flag setting lines with bdrv_open(). 
                     I didn't see a great way of doing this.

Patch 04/16: New patch, aio init code motion 

Patch 05/16: [Kevin] New patch, raw_parse_flags code motion 

Patch 06/16: [Kevin] New patch.  Do not parse BDRV_O_CACHE_WB in
                     raw_posix/raw_win32

Patch 07/16: [Kevin] New patch. Code motion - move aligned_buf allocation
                     to helper function.

Patch 08/16: [Kevin] See patches 4-7
             [Kevin] Init AIO, if appropriate
             [Kevin] Fallback to qemu_open, if fcntl fails
             [Eric]  Remove spurious mode in qemu_open()
             [Corey] Use qemu_close() instead of qemu_open()

             Feedback not incorporated:
             --------------------------
             Moving from fcntl + fcntl_setfl to qemu_dup_flags or equivalent.
             Ideally I think a separate patch series creating a wrapper
             function for fcntl, and then update this code with the new wrapper.
            
Patch 09/16: None
Patch 10/16: None
Patch 11/16: None
Patch 12/16: None

Patch 13/16: New patch, VMDK driver for reopen

Patch 14/16: New patch, raw-win32 driver for reopen.  Note, not necessarily 
             safe.  If anyone knows a better way to do it under win32, without
             potentially having to close the handle first, please let me know.

Patch 15/16: New patch, move bdrv_commit to use bdrv_reopen()

Patch 16/16: [Kevin] Get rid of keep_read_only flag completely

Jeff Cody (19):
  block: correctly set the keep_read_only flag
  block: make bdrv_set_enable_write_cache() modify open_flags
  block: Framework for reopening files safely
  block: move aio initialization into a helper function
  block: move open flag parsing in raw block drivers to helper
    functions
  block: do not parse BDRV_O_CACHE_WB in block drivers
  block: use BDRV_O_NOCACHE instead of s->aligned_buf in raw-posix.c
  block: purge s->aligned_buf and s->aligned_buf_size from raw-posix.c
  block: raw-posix image file reopen
  block: raw image file reopen
  block: qed image file reopen
  block: qcow2 image file reopen
  block: qcow image file reopen
  block: vmdk image file reopen
  block: raw-win32 driver reopen support
  block: vdi image file reopen
  block: vpc image file reopen
  block: convert bdrv_commit() to use bdrv_reopen()
  block: remove keep_read_only flag from BlockDriverState struct

 block.c           | 299 +++++++++++++++++++++++++++++++++++++++++++++---------
 block.h           |  18 ++++
 block/iscsi.c     |   4 -
 block/qcow.c      |  10 ++
 block/qcow2.c     |  10 ++
 block/qed.c       |   9 ++
 block/raw-posix.c | 212 ++++++++++++++++++++++++++++----------
 block/raw-win32.c | 145 ++++++++++++++++++++++----
 block/raw.c       |  10 ++
 block/rbd.c       |   6 --
 block/sheepdog.c  |  14 ++-
 block/vdi.c       |   7 ++
 block/vmdk.c      |  35 +++++++
 block/vpc.c       |   7 ++
 block_int.h       |   9 +-
 qemu-common.h     |   1 +
 16 files changed, 652 insertions(+), 144 deletions(-)

-- 
1.7.11.4

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

end of thread, other threads:[~2012-09-20 14:49 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-18 18:53 [Qemu-devel] [PATCH v3 00/19] block: bdrv_reopen() patches Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 01/19] block: correctly set the keep_read_only flag Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 02/19] block: make bdrv_set_enable_write_cache() modify open_flags Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 03/19] block: Framework for reopening files safely Jeff Cody
2012-09-20 11:24   ` Kevin Wolf
2012-09-20 12:55     ` Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 04/19] block: move aio initialization into a helper function Jeff Cody
2012-09-20 13:14   ` Kevin Wolf
2012-09-20 14:49     ` Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 05/19] block: move open flag parsing in raw block drivers to helper functions Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 06/19] block: do not parse BDRV_O_CACHE_WB in block drivers Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 07/19] block: use BDRV_O_NOCACHE instead of s->aligned_buf in raw-posix.c Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 08/19] block: purge s->aligned_buf and s->aligned_buf_size from raw-posix.c Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 09/19] block: raw-posix image file reopen Jeff Cody
2012-09-18 21:20   ` Eric Blake
2012-09-18 22:20     ` Jeff Cody
2012-09-20 14:10   ` Kevin Wolf
2012-09-20 14:45     ` Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 10/19] block: raw " Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 11/19] block: qed " Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 12/19] block: qcow2 " Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 13/19] block: qcow " Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 14/19] block: vmdk " Jeff Cody
2012-09-20 14:12   ` Kevin Wolf
2012-09-20 14:49     ` Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 15/19] block: raw-win32 driver reopen support Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 16/19] block: vdi image file reopen Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 17/19] block: vpc " Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 18/19] block: convert bdrv_commit() to use bdrv_reopen() Jeff Cody
2012-09-18 18:53 ` [Qemu-devel] [PATCH v3 19/19] block: remove keep_read_only flag from BlockDriverState struct Jeff Cody

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.