[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/9] preallocate filter
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[PATCH v2 0/9] preallocate filter |
Date: |
Fri, 14 Aug 2020 16:03:39 +0300 |
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
--
2.21.3
- [PATCH v2 0/9] preallocate filter,
Vladimir Sementsov-Ogievskiy <=
- [PATCH v2 2/9] block/io.c: drop assertion on double waiting for request serialisation, Vladimir Sementsov-Ogievskiy, 2020/08/14
- [PATCH v2 3/9] block/io: split out bdrv_find_conflicting_request, Vladimir Sementsov-Ogievskiy, 2020/08/14
- [PATCH v2 4/9] block/io: bdrv_wait_serialising_requests_locked: drop extra bs arg, Vladimir Sementsov-Ogievskiy, 2020/08/14
- [PATCH v2 5/9] block: bdrv_mark_request_serialising: split non-waiting function, Vladimir Sementsov-Ogievskiy, 2020/08/14
- [PATCH v2 1/9] block: simplify comment to BDRV_REQ_SERIALISING, Vladimir Sementsov-Ogievskiy, 2020/08/14
- [PATCH v2 6/9] block: introduce BDRV_REQ_NO_WAIT flag, Vladimir Sementsov-Ogievskiy, 2020/08/14
- [PATCH v2 7/9] block: introduce preallocate filter, Vladimir Sementsov-Ogievskiy, 2020/08/14
- [PATCH v2 8/9] iotests.py: add verify_o_direct helper, Vladimir Sementsov-Ogievskiy, 2020/08/14
- [PATCH v2 9/9] iotests: add 298 to test new preallocate filter driver, Vladimir Sementsov-Ogievskiy, 2020/08/14
- Re: [PATCH v2 0/9] preallocate filter, no-reply, 2020/08/14