[Qemu-devel] [PATCH] vfio/pci: Report errors from qdev_unplug() via device request

Alex Williamson posted 1 patch 7 years, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170221190955.8616.21658.stgit@gimli.home
Test checkpatch passed
Test docker passed
Test s390x passed
hw/vfio/pci.c |    6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
[Qemu-devel] [PATCH] vfio/pci: Report errors from qdev_unplug() via device request
Posted by Alex Williamson 7 years, 1 month ago
Currently we ignore this error, report it with error_reportf_err()

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
---
 hw/vfio/pci.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index 332f41d6627f..f2ba9b6cfafc 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -2506,12 +2506,16 @@ static void vfio_unregister_err_notifier(VFIOPCIDevice *vdev)
 static void vfio_req_notifier_handler(void *opaque)
 {
     VFIOPCIDevice *vdev = opaque;
+    Error *err = NULL;
 
     if (!event_notifier_test_and_clear(&vdev->req_notifier)) {
         return;
     }
 
-    qdev_unplug(&vdev->pdev.qdev, NULL);
+    qdev_unplug(&vdev->pdev.qdev, &err);
+    if (err) {
+        error_reportf_err(err, WARN_PREFIX, vdev->vbasedev.name);
+    }
 }
 
 static void vfio_register_req_notifier(VFIOPCIDevice *vdev)


Re: [Qemu-devel] [PATCH] vfio/pci: Report errors from qdev_unplug() via device request
Posted by Auger Eric 7 years, 1 month ago
Hi Alex,

On 21/02/2017 20:10, Alex Williamson wrote:
> Currently we ignore this error, report it with error_reportf_err()
> 
> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>

Eric

> ---
>  hw/vfio/pci.c |    6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
> index 332f41d6627f..f2ba9b6cfafc 100644
> --- a/hw/vfio/pci.c
> +++ b/hw/vfio/pci.c
> @@ -2506,12 +2506,16 @@ static void vfio_unregister_err_notifier(VFIOPCIDevice *vdev)
>  static void vfio_req_notifier_handler(void *opaque)
>  {
>      VFIOPCIDevice *vdev = opaque;
> +    Error *err = NULL;
>  
>      if (!event_notifier_test_and_clear(&vdev->req_notifier)) {
>          return;
>      }
>  
> -    qdev_unplug(&vdev->pdev.qdev, NULL);
> +    qdev_unplug(&vdev->pdev.qdev, &err);
> +    if (err) {
> +        error_reportf_err(err, WARN_PREFIX, vdev->vbasedev.name);
> +    }
>  }
>  
>  static void vfio_register_req_notifier(VFIOPCIDevice *vdev)
> 

Re: [Qemu-devel] [PATCH] vfio/pci: Report errors from qdev_unplug() via device request
Posted by Philippe Mathieu-Daudé 7 years, 1 month ago
On 02/21/2017 06:28 PM, Auger Eric wrote:
> Hi Alex,
>
> On 21/02/2017 20:10, Alex Williamson wrote:
>> Currently we ignore this error, report it with error_reportf_err()
>>
>> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
> Reviewed-by: Eric Auger <eric.auger@redhat.com>
>
> Eric

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

>
>> ---
>>  hw/vfio/pci.c |    6 +++++-
>>  1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
>> index 332f41d6627f..f2ba9b6cfafc 100644
>> --- a/hw/vfio/pci.c
>> +++ b/hw/vfio/pci.c
>> @@ -2506,12 +2506,16 @@ static void vfio_unregister_err_notifier(VFIOPCIDevice *vdev)
>>  static void vfio_req_notifier_handler(void *opaque)
>>  {
>>      VFIOPCIDevice *vdev = opaque;
>> +    Error *err = NULL;
>>
>>      if (!event_notifier_test_and_clear(&vdev->req_notifier)) {
>>          return;
>>      }
>>
>> -    qdev_unplug(&vdev->pdev.qdev, NULL);
>> +    qdev_unplug(&vdev->pdev.qdev, &err);
>> +    if (err) {
>> +        error_reportf_err(err, WARN_PREFIX, vdev->vbasedev.name);
>> +    }
>>  }
>>
>>  static void vfio_register_req_notifier(VFIOPCIDevice *vdev)
>>
>