Re: [PATCH 2/3] block/block-backend: delegate blk_co_preadv to blk_co_preadv_part
Am 29.04.2026 um 08:20 hat Bin Guo geschrieben: > blk_co_preadv() and blk_co_preadv_part() share identical bodies except > that blk_co_preadv() always passes qiov_offset=0. blk_co_pwritev() > already uses this pattern and simply calls blk_co_pwritev_part() with > qiov_offset=0. Apply the same simplification to the read side so that > both pairs are consistent and the shared logic lives in a single place. > > Before this change blk_co_preadv() duplicated the > blk_inc_in_flight / blk_co_do_preadv_part / blk_dec_in_flight > sequence. After this change it is a one-liner wrapper, matching the > write side. > > Signed-off-by: Bin Guo Reviewed-by: Kevin Wolf
Re: [PATCH 2/3] block/block-backend: delegate blk_co_preadv to blk_co_preadv_part
On 4/29/26 16:20, Bin Guo wrote:
blk_co_preadv() and blk_co_preadv_part() share identical bodies except
that blk_co_preadv() always passes qiov_offset=0. blk_co_pwritev()
already uses this pattern and simply calls blk_co_pwritev_part() with
qiov_offset=0. Apply the same simplification to the read side so that
both pairs are consistent and the shared logic lives in a single place.
Before this change blk_co_preadv() duplicated the
blk_inc_in_flight / blk_co_do_preadv_part / blk_dec_in_flight
sequence. After this change it is a one-liner wrapper, matching the
write side.
Signed-off-by: Bin Guo
---
block/block-backend.c | 8 +---
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/block/block-backend.c b/block/block-backend.c
index 9944657120..490b149bf8 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -1376,14 +1376,8 @@ int coroutine_fn blk_co_preadv(BlockBackend *blk,
int64_t offset,
int64_t bytes, QEMUIOVector *qiov,
BdrvRequestFlags flags)
{
-int ret;
IO_OR_GS_CODE();
-
-blk_inc_in_flight(blk);
-ret = blk_co_do_preadv_part(blk, offset, bytes, qiov, 0, flags);
-blk_dec_in_flight(blk);
-
-return ret;
+return blk_co_preadv_part(blk, offset, bytes, qiov, 0, flags);
}
int coroutine_fn blk_co_preadv_part(BlockBackend *blk, int64_t offset,
Reviewed-by: Richard Henderson
r~
[PATCH 2/3] block/block-backend: delegate blk_co_preadv to blk_co_preadv_part
blk_co_preadv() and blk_co_preadv_part() share identical bodies except
that blk_co_preadv() always passes qiov_offset=0. blk_co_pwritev()
already uses this pattern and simply calls blk_co_pwritev_part() with
qiov_offset=0. Apply the same simplification to the read side so that
both pairs are consistent and the shared logic lives in a single place.
Before this change blk_co_preadv() duplicated the
blk_inc_in_flight / blk_co_do_preadv_part / blk_dec_in_flight
sequence. After this change it is a one-liner wrapper, matching the
write side.
Signed-off-by: Bin Guo
---
block/block-backend.c | 8 +---
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/block/block-backend.c b/block/block-backend.c
index 9944657120..490b149bf8 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -1376,14 +1376,8 @@ int coroutine_fn blk_co_preadv(BlockBackend *blk,
int64_t offset,
int64_t bytes, QEMUIOVector *qiov,
BdrvRequestFlags flags)
{
-int ret;
IO_OR_GS_CODE();
-
-blk_inc_in_flight(blk);
-ret = blk_co_do_preadv_part(blk, offset, bytes, qiov, 0, flags);
-blk_dec_in_flight(blk);
-
-return ret;
+return blk_co_preadv_part(blk, offset, bytes, qiov, 0, flags);
}
int coroutine_fn blk_co_preadv_part(BlockBackend *blk, int64_t offset,
--
2.50.1 (Apple Git-155)
