mirror of https://github.com/xemu-project/xemu.git
vfio/iommufd: Return errno in iommufd_cdev_attach_ioas_hwpt()
In preparation to implement auto domains have the attach function return the errno it got during domain attach instead of a bool. -EINVAL is tracked to track domain incompatibilities, and decide whether to create a new IOMMU domain. Signed-off-by: Joao Martins <joao.m.martins@oracle.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
This commit is contained in:
parent
2d1bf25897
commit
b07dcb7d4f
|
@ -172,7 +172,7 @@ out:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static bool iommufd_cdev_attach_ioas_hwpt(VFIODevice *vbasedev, uint32_t id,
|
||||
static int iommufd_cdev_attach_ioas_hwpt(VFIODevice *vbasedev, uint32_t id,
|
||||
Error **errp)
|
||||
{
|
||||
int iommufd = vbasedev->iommufd->fd;
|
||||
|
@ -187,12 +187,12 @@ static bool iommufd_cdev_attach_ioas_hwpt(VFIODevice *vbasedev, uint32_t id,
|
|||
error_setg_errno(errp, errno,
|
||||
"[iommufd=%d] error attach %s (%d) to id=%d",
|
||||
iommufd, vbasedev->name, vbasedev->fd, id);
|
||||
return false;
|
||||
return -errno;
|
||||
}
|
||||
|
||||
trace_iommufd_cdev_attach_ioas_hwpt(iommufd, vbasedev->name,
|
||||
vbasedev->fd, id);
|
||||
return true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool iommufd_cdev_detach_ioas_hwpt(VFIODevice *vbasedev, Error **errp)
|
||||
|
@ -216,7 +216,7 @@ static bool iommufd_cdev_attach_container(VFIODevice *vbasedev,
|
|||
VFIOIOMMUFDContainer *container,
|
||||
Error **errp)
|
||||
{
|
||||
return iommufd_cdev_attach_ioas_hwpt(vbasedev, container->ioas_id, errp);
|
||||
return !iommufd_cdev_attach_ioas_hwpt(vbasedev, container->ioas_id, errp);
|
||||
}
|
||||
|
||||
static void iommufd_cdev_detach_container(VFIODevice *vbasedev,
|
||||
|
|
Loading…
Reference in New Issue