[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 33/35] blockdev: Convert drive_new() to Error
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 33/35] blockdev: Convert drive_new() to Error |
Date: |
Tue, 16 Oct 2018 06:09:26 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Philippe Mathieu-Daudé <address@hidden> writes:
> On 15/10/2018 16:48, Max Reitz wrote:
>> On 15.10.18 13:53, Markus Armbruster wrote:
>>> Calling error_report() from within a function that takes an Error **
>>> argument is suspicious. drive_new() calls error_report() even though
>>> it can run within drive_init_func(), which takes an Error ** argument.
>>> drive_init_func()'s caller main(), via qemu_opts_foreach(), is fine
>>> with it, but clean it up anyway:
>>>
>>> * Convert drive_new() to Error
>>>
>>> * Update add_init_drive() to report the error received from
>>> drive_new()
>>>
>>> * Make main() pass &error_fatal through qemu_opts_foreach(),
>>> drive_init_func() to drive_new()
>>>
>>> * Make default_drive() pass &error_abort through qemu_opts_foreach(),
>>> drive_init_func() to drive_new()
>>>
>>> Cc: Kevin Wolf <address@hidden>
>>> Cc: Max Reitz <address@hidden>
>>> Signed-off-by: Markus Armbruster <address@hidden>
>>> ---
>>> blockdev.c | 27 ++++++++++++++-------------
>>> device-hotplug.c | 5 ++++-
>>> include/sysemu/blockdev.h | 3 ++-
>>> vl.c | 8 ++++----
>>> 4 files changed, 24 insertions(+), 19 deletions(-)
>>
>> [...]
>>
>>> diff --git a/vl.c b/vl.c
>>> index 65366b961e..22beca29d1 100644
>>> --- a/vl.c
>>> +++ b/vl.c
>>
>> [...]
>>> @@ -4396,7 +4395,8 @@ int main(int argc, char **argv, char **envp)
>>> NULL, NULL);
>>> }
>>> if (qemu_opts_foreach(qemu_find_opts("drive"), drive_init_func,
>>> - &machine_class->block_default_type, NULL)) {
>>> + &machine_class->block_default_type,
>>> &error_fatal)) {
>>> + /* We printed help */
>>> exit(1);
>>> }
>>
>> I thought you wanted it to become an exit(0)? I don't care either way,
>
> Markus did it in the next patch ;)
I noticed I was about to start a commit message paragraph with "Also",
and split the patch :)
> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Thanks!
- [Qemu-devel] [PATCH v2 11/35] smbios: Clean up error handling in smbios_add(), (continued)
- [Qemu-devel] [PATCH v2 11/35] smbios: Clean up error handling in smbios_add(), Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 21/35] vl: Clean up error reporting in machine_set_property(), Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 10/35] ioapic: Fix error handling in realize(), Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 35/35] vl: Simplify call of parse_name(), Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 32/35] vl: Assert drive_new() does not fail in default_drive(), Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 25/35] ui/keymaps: Fix handling of erroneous include files, Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 14/35] net/socket: Fix invalid socket type error handling, Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 33/35] blockdev: Convert drive_new() to Error, Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 09/35] pc: Fix machine property nvdimm-persistence error handling, Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 05/35] vfio: Use warn_report() & friends to report warnings, Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 29/35] tpm: Clean up error reporting in tpm_init_tpmdev(), Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 07/35] char: Use error_printf() to print help and such, Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 06/35] vfio: Clean up error reporting after previous commit, Markus Armbruster, 2018/10/15
- [Qemu-devel] [PATCH v2 27/35] vnc: Clean up error reporting in vnc_init_func(), Markus Armbruster, 2018/10/15