[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 0/5] block: allow commit to unmap zero blocks
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [PATCH v4 0/5] block: allow commit to unmap zero blocks |
Date: |
Mon, 18 Nov 2024 10:57:28 +0300 |
User-agent: |
Mozilla Thunderbird |
On 26.10.24 19:30, Vincent Vanlaer wrote:
This patch series adds support for zero blocks in non-active commits.
The first three patches in the series refactor the relevant code, patch
four makes the actual changes, and the last patch adds a test for the
new functionality.
---
Changes since v3:
- minor reformating based on checkpatch.pl
- moved tracepoint in commit_iteration before first possible return on
error
- renamed the handle_error label in commit_iteration to fail and
prevented the happy path from passing through this label
- moved test script to the tests/qemu-iotests/tests folder and named it
commit-zero-blocks
Changes since v2:
- moved main loop of commit_run to a separate function and refactored
the error handling.
- call blk_co_pwrite_zero even if the size of the zero region does not
align with the sectors of the base image. This removes the need for
the CommitMethod enum
Changes since v1:
- split up the implementation in three separate commits
- removed accidentally left over includes from testing
Vincent Vanlaer (5):
block: get type of block allocation in commit_run
block: move commit_run loop to separate function
block: refactor error handling of commit_iteration
block: allow commit to unmap zero blocks
block: add test non-active commit with zeroed data
block/commit.c | 116 +++++++++++++-----
tests/qemu-iotests/tests/commit-zero-blocks | 96 +++++++++++++++
.../qemu-iotests/tests/commit-zero-blocks.out | 54 ++++++++
3 files changed, 232 insertions(+), 34 deletions(-)
create mode 100755 tests/qemu-iotests/tests/commit-zero-blocks
create mode 100644 tests/qemu-iotests/tests/commit-zero-blocks.out
Thanks, applied to my block branch,
with
diff --git a/block/commit.c b/block/commit.c
index 5c24c8b80a..bfd969b13f 100644
--- a/block/commit.c
+++ b/block/commit.c
@@ -172,7 +172,8 @@ static int commit_iteration(CommitBlockJob *s, int64_t
offset,
*requested_bytes = bytes;
return 0;
-fail:;
+
+fail:
BlockErrorAction action = block_job_error_action(&s->common,
s->on_error,
error_in_source,
-ret);
if (action == BLOCK_ERROR_ACTION_REPORT) {
change to patch 3.
Unfortunately, I've missed soft-freeze on 05.11. Will send PR when 10.0
development phase opens.
--
Best regards,
Vladimir
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v4 0/5] block: allow commit to unmap zero blocks,
Vladimir Sementsov-Ogievskiy <=