On Thu, Sep 10, 2026 at 05:35:26PM -0400, Yuho Choi wrote:

> +    error_prepend(&local_err, "vfio-user DMA mapping transaction failed: ");
> +    if (!bcontainer->initialized) {
> +        if (!bcontainer->error) {
> +            error_propagate(&bcontainer->error, local_err);
> +        } else {
> +            error_free(local_err);
> +        }
> +    } else {
> +        error_report_err(local_err);
> +        hw_error("vfio-user: DMA mapping failed, unable to continue");

Are we sure we want qemu to abort() rather than just exit in the case the
vfio-user server returns an error?

> @@ -426,7 +450,15 @@ err:
>               */
>              vfio_user_set_error(msg->hdr, EINVAL);
>              msg->complete = true;
> -            qemu_cond_signal(&msg->cv);
> +            if (msg->type == VFIO_MSG_NOWAIT) {
> +                vfio_user_record_nowait_reply_error(proxy, msg);
> +                if (proxy->last_nowait == msg) {
> +                    proxy->last_nowait = NULL;
> +                }

I'm not quite getting this change, why are you resetting last_nowait here? And
why as part of this change?

I think at least it's worth a comment.

thanks
john

Reply via email to