v3 will come soon, don't look at this.

14.08.2020 16:03, Vladimir Sementsov-Ogievskiy wrote:
Hi all!

Here is a filter, which does preallocation on write.

In Virtuozzo we have to deal with some custom distributed storage
solution, where allocation is relatively expensive operation. We have to
workaround it in Qemu, so here is a new filter.

For the details refer to original cover-letter
"[PATCH 0/5] preallocate filter"
https://lists.gnu.org/archive/html/qemu-devel/2020-06/msg06443.html

v2:
1-6 are new and substitutes bdrv_co_range_try_lock mechanism used in v1
07: add note to docs/system/qemu-block-drivers.rst.inc
     add open options
     rebase on new BDRV_REQ_NO_WAIT flag
     drop bs->file check in _co_flush()
08: new
09: use new iotests.verify_o_direct()

Vladimir Sementsov-Ogievskiy (9):
   block: simplify comment to BDRV_REQ_SERIALISING
   block/io.c: drop assertion on double waiting for request serialisation
   block/io: split out bdrv_find_conflicting_request
   block/io: bdrv_wait_serialising_requests_locked: drop extra bs arg
   block: bdrv_mark_request_serialising: split non-waiting function
   block: introduce BDRV_REQ_NO_WAIT flag
   block: introduce preallocate filter
   iotests.py: add verify_o_direct helper
   iotests: add 298 to test new preallocate filter driver

  docs/system/qemu-block-drivers.rst.inc |  26 +++
  qapi/block-core.json                   |  20 +-
  include/block/block.h                  |  20 +-
  include/block/block_int.h              |   3 +-
  block/file-posix.c                     |   2 +-
  block/io.c                             | 131 +++++++-----
  block/preallocate.c                    | 264 +++++++++++++++++++++++++
  block/Makefile.objs                    |   1 +
  tests/qemu-iotests/298                 |  46 +++++
  tests/qemu-iotests/298.out             |   5 +
  tests/qemu-iotests/group               |   1 +
  tests/qemu-iotests/iotests.py          |   6 +
  12 files changed, 457 insertions(+), 68 deletions(-)
  create mode 100644 block/preallocate.c
  create mode 100644 tests/qemu-iotests/298
  create mode 100644 tests/qemu-iotests/298.out



--
Best regards,
Vladimir

Reply via email to