Sam Li <faithilike...@gmail.com> 于2023年8月25日周五 12:06写道:
>
> When the zoned request fail, it needs to update only the wp of
> the target zones for not disrupting the in-flight writes on
> these other zones. The wp is updated successfully after the
> request completes.
>
> Fixed the callers with right offset and nr_zones.
>
> Signed-off-by: Sam Li <faithilike...@gmail.com>
> ---
>  block/file-posix.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)

Ping?

>
> diff --git a/block/file-posix.c b/block/file-posix.c
> index b16e9c21a1..55e7f06a2f 100644
> --- a/block/file-posix.c
> +++ b/block/file-posix.c
> @@ -2522,7 +2522,8 @@ out:
>          }
>      } else {
>          if (type & (QEMU_AIO_WRITE | QEMU_AIO_ZONE_APPEND)) {
> -            update_zones_wp(bs, s->fd, 0, 1);
> +            /* write and append write are not allowed to cross zone 
> bounaries */
> +            update_zones_wp(bs, s->fd, offset, 1);
>          }
>      }
>
> @@ -3472,7 +3473,7 @@ static int coroutine_fn 
> raw_co_zone_mgmt(BlockDriverState *bs, BlockZoneOp op,
>                          len >> BDRV_SECTOR_BITS);
>      ret = raw_thread_pool_submit(handle_aiocb_zone_mgmt, &acb);
>      if (ret != 0) {
> -        update_zones_wp(bs, s->fd, offset, i);
> +        update_zones_wp(bs, s->fd, offset, nrz);
>          error_report("ioctl %s failed %d", op_name, ret);
>          return ret;
>      }
> --
> 2.40.1
>

Reply via email to