[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 0/6] file-posix: Make truncate/preallocate asynch
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH v2 0/6] file-posix: Make truncate/preallocate asynchronous |
Date: |
Tue, 26 Jun 2018 16:24:28 +0200 |
This fixes the problem that blockdev-create on a local file blocks the
main loop despite being a background job. This was caused by file-posix
preallocating the image with blocking syscalls rather than moving this
to the thread pool and yielding the coroutine meanwhile.
v2:
- Add locking to qcow2_co_discard()
- Extra qcow2 fix and cleanup related to the locking code
- Use tracked requests infrastructure for serialising I/O requests
against truncate in newly allocated areas
Kevin Wolf (6):
qcow2: Fix qcow2_truncate() error return value
block: Convert .bdrv_truncate callback to coroutine_fn
qcow2: Remove coroutine trampoline for preallocate_co()
block: Move bdrv_truncate() implementation to io.c
block: Use tracked request for truncate
file-posix: Make .bdrv_co_truncate asynchronous
include/block/block.h | 4 +
include/block/block_int.h | 7 +-
include/block/raw-aio.h | 4 +-
block.c | 64 +----------
block/copy-on-read.c | 8 +-
block/crypto.c | 9 +-
block/file-posix.c | 277 ++++++++++++++++++++++++++--------------------
block/file-win32.c | 6 +-
block/gluster.c | 14 ++-
block/io.c | 134 ++++++++++++++++++++++
block/iscsi.c | 8 +-
block/nfs.c | 7 +-
block/qcow2.c | 124 +++++++++------------
block/qed.c | 8 +-
block/raw-format.c | 8 +-
block/rbd.c | 8 +-
block/sheepdog.c | 12 +-
block/ssh.c | 6 +-
18 files changed, 405 insertions(+), 303 deletions(-)
--
2.13.6
- [Qemu-devel] [PATCH v2 0/6] file-posix: Make truncate/preallocate asynchronous,
Kevin Wolf <=
- [Qemu-devel] [PATCH v2 1/6] qcow2: Fix qcow2_truncate() error return value, Kevin Wolf, 2018/06/26
- [Qemu-devel] [PATCH v2 3/6] qcow2: Remove coroutine trampoline for preallocate_co(), Kevin Wolf, 2018/06/26
- [Qemu-devel] [PATCH v2 4/6] block: Move bdrv_truncate() implementation to io.c, Kevin Wolf, 2018/06/26
- [Qemu-devel] [PATCH v2 5/6] block: Use tracked request for truncate, Kevin Wolf, 2018/06/26
- [Qemu-devel] [PATCH v2 6/6] file-posix: Make .bdrv_co_truncate asynchronous, Kevin Wolf, 2018/06/26