[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: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH v2 33/35] blockdev: Convert drive_new() to Error |
Date: |
Tue, 16 Oct 2018 00:38:47 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 |
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 ;)
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
> though, so:
>
> Reviewed-by: Max Reitz <address@hidden>
>
- [Qemu-devel] [PATCH v2 34/35] vl: Fix exit status for -drive format=help, (continued)
- [Qemu-devel] [PATCH v2 34/35] vl: Fix exit status for -drive format=help, Markus Armbruster, 2018/10/15
- [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