On Tue, Sep 10, 2024 at 2:05 PM Peter Xu <pet...@redhat.com> wrote:
>
> The qatzip series was based on an older commit, it applied cleanly even
> though it has conflicts.  Neither CI nor myself found the build will break
> as it's skipped by default when qatzip library was missing.
>
> Fix the build issues.  No need to copy stable as it just landed 9.2.
>
> Cc: Yichen Wang <yichen.w...@bytedance.com>
> Cc: Bryan Zhang <bryan.zh...@bytedance.com>
> Cc: Hao Xiang <hao.xi...@linux.dev>
> Cc: Yuan Liu <yuan1....@intel.com>
> Fixes: 80484f9459 ("migration: Introduce 'qatzip' compression method")
> Signed-off-by: Peter Xu <pet...@redhat.com>
> ---
>
> Qatzip developers: would you help me to double check whether this is the
> right fix?

It makes sense and looks good to me. Thanks a lot for correcting this.

> ---
>  migration/multifd-qatzip.c | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/migration/multifd-qatzip.c b/migration/multifd-qatzip.c
> index 3c787ed879..7b68397625 100644
> --- a/migration/multifd-qatzip.c
> +++ b/migration/multifd-qatzip.c
> @@ -160,7 +160,8 @@ static void qatzip_send_cleanup(MultiFDSendParams *p, 
> Error **errp)
>   */
>  static int qatzip_send_prepare(MultiFDSendParams *p, Error **errp)
>  {
> -    MultiFDPages_t *pages = p->pages;
> +    uint32_t page_size = multifd_ram_page_size();
> +    MultiFDPages_t *pages = &p->data->u.ram;
>      QatzipData *q = p->compress_data;
>      int ret;
>      unsigned int in_len, out_len;
> @@ -179,12 +180,12 @@ static int qatzip_send_prepare(MultiFDSendParams *p, 
> Error **errp)
>       * implementation.
>       */
>      for (int i = 0; i < pages->normal_num; i++) {
> -        memcpy(q->in_buf + (i * p->page_size),
> +        memcpy(q->in_buf + (i * page_size),
>                 pages->block->host + pages->offset[i],
> -               p->page_size);
> +               page_size);
>      }
>
> -    in_len = pages->normal_num * p->page_size;
> +    in_len = pages->normal_num * page_size;
>      if (in_len > q->in_len) {
>          error_setg(errp, "multifd %u: unexpectedly large input", p->id);
>          return -1;
> @@ -197,7 +198,7 @@ static int qatzip_send_prepare(MultiFDSendParams *p, 
> Error **errp)
>                     p->id, ret);
>          return -1;
>      }
> -    if (in_len != pages->normal_num * p->page_size) {
> +    if (in_len != pages->normal_num * page_size) {
>          error_setg(errp, "multifd %u: QATzip failed to compress all input",
>                     p->id);
>          return -1;
> @@ -329,7 +330,8 @@ static int qatzip_recv(MultiFDRecvParams *p, Error **errp)
>      int ret;
>      unsigned int in_len, out_len;
>      uint32_t in_size = p->next_packet_size;
> -    uint32_t expected_size = p->normal_num * p->page_size;
> +    uint32_t page_size = multifd_ram_page_size();
> +    uint32_t expected_size = p->normal_num * page_size;
>      uint32_t flags = p->flags & MULTIFD_FLAG_COMPRESSION_MASK;
>
>      if (in_size > q->in_len) {
> @@ -370,9 +372,7 @@ static int qatzip_recv(MultiFDRecvParams *p, Error **errp)
>
>      /* Copy each page to its appropriate location. */
>      for (int i = 0; i < p->normal_num; i++) {
> -        memcpy(p->host + p->normal[i],
> -               q->out_buf + p->page_size * i,
> -               p->page_size);
> +        memcpy(p->host + p->normal[i], q->out_buf + page_size * i, 
> page_size);
>      }
>      return 0;
>  }
> --
> 2.45.0
>

Reply via email to