[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V2 1/5] virtio: get_features() can fail
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH V2 1/5] virtio: get_features() can fail |
Date: |
Wed, 22 Jul 2015 17:13:53 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Paolo Bonzini <address@hidden> writes:
> On 15/07/2015 11:01, Cornelia Huck wrote:
>> > diff --git a/hw/virtio/virtio-bus.c b/hw/virtio/virtio-bus.c
>> > index 3926f7e..febda76 100644
>> > --- a/hw/virtio/virtio-bus.c
>> > +++ b/hw/virtio/virtio-bus.c
>> > @@ -54,7 +54,8 @@ void virtio_bus_device_plugged(VirtIODevice *vdev, Error
>> > **errp)
>> >
>> > /* Get the features of the plugged device. */
>> > assert(vdc->get_features != NULL);
>> > - vdev->host_features = vdc->get_features(vdev, vdev->host_features);
>> > + vdev->host_features = vdc->get_features(vdev, vdev->host_features,
>> > + errp);
>> > }
>> >
>> > /* Reset the virtio_bus */
>>
>> Don't you need to propagate the error instead of passing it through? Or
>> am I just confused by error handling? :)
>
> Explicit propagation is only needed if you need to look at the error
> (because errp could be NULL). Here you don't need to do that, so
> passing it through is fine.
>
> Error management is not hard if you know the rules (and the rules are
> not hard, just important). Someone needs to dig up Markus's latest
> explanation and put it in docs/.
I got a patch pending that puts it in include/qapi/error.h:
[PATCH 6/7] error: Revamp interface documentation
part of
error: On abort, report where the error was created
Intend to respin soonish to address Eric's and Laszlo's review.
[Qemu-devel] [PATCH V2 3/5] virtio-blk: disable scsi passthrough by default, Jason Wang, 2015/07/15