[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 43/46] qdev: Smooth error checking manually
From: |
Markus Armbruster |
Subject: |
Re: [PATCH 43/46] qdev: Smooth error checking manually |
Date: |
Thu, 25 Jun 2020 17:15:29 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Eric Blake <eblake@redhat.com> writes:
> On 6/24/20 11:43 AM, Markus Armbruster wrote:
>> When foo(..., &err) is followed by error_propagate(errp, err), we can
>> often just as well do foo(..., errp). The previous commit did that
>> for simple cases with Coccinelle. Do it for one more manually.
>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>> hw/block/fdc.c | 8 +++-----
>> 1 file changed, 3 insertions(+), 5 deletions(-)
>>
>
>> @@ -2566,11 +2566,9 @@ static void fdctrl_connect_drives(FDCtrl *fdctrl,
>> DeviceState *fdc_dev,
>> blk_ref(blk);
>> blk_detach_dev(blk, fdc_dev);
>> fdctrl->qdev_for_drives[i].blk = NULL;
>> - qdev_prop_set_drive_err(dev, "drive", blk, &local_err);
>> + ok = qdev_prop_set_drive_err(dev, "drive", blk, errp);
>> blk_unref(blk);
>
> Perhaps some glib g_auto* magic could make this even easier (to mark a
> variable to be blk_unref'd when it goes out of scope). But for now,
> your pattern is fine.
It's PATCH 43, my hatchet needs sharpening, and my arm hurts ;)
>> -
>> - if (local_err) {
>> - error_propagate(errp, local_err);
>> + if (!ok) {
>> return;
>> }
>>
>
> Reviewed-by: Eric Blake <eblake@redhat.com>
Thanks!
- [PATCH 07/46] error: Avoid more error_propagate() when error is not used here, (continued)
- [PATCH 40/46] qom: Make functions taking Error ** return bool, not 0/-1, Markus Armbruster, 2020/06/24
- [PATCH 43/46] qdev: Smooth error checking manually, Markus Armbruster, 2020/06/24
- [PATCH 05/46] virtio-crypto-pci: Tidy up virtio_crypto_pci_realize(), Markus Armbruster, 2020/06/24
- [PATCH 20/46] block: Avoid error accumulation in bdrv_img_create(), Markus Armbruster, 2020/06/24
- [PATCH 38/46] qom: Smooth error checking with Coccinelle, Markus Armbruster, 2020/06/24
- [PATCH 34/46] qom: Don't handle impossible object_property_get_link() failure, Markus Armbruster, 2020/06/24