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