QEMU-Devel Archive on lore.kernel.org
 help / color / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	qemu-devel@nongnu.org, armbru@redhat.com,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: Re: [RFC v5 004/126] hmp: drop Error pointer indirection in hmp_handle_error
Date: Fri, 11 Oct 2019 17:33:32 +0100
Message-ID: <20191011163332.GR3354@work-vm> (raw)
In-Reply-To: <20191011160552.22907-5-vsementsov@virtuozzo.com>

* Vladimir Sementsov-Ogievskiy (vsementsov@virtuozzo.com) wrote:
> We don't need Error **, as all callers pass local Error object, which
> isn't used after the call. Use Error * instead.
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

for HMP
Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  include/monitor/hmp.h      |   2 +-
>  dump/dump-hmp-cmds.c       |   4 +-
>  hw/core/machine-hmp-cmds.c |   6 +-
>  monitor/hmp-cmds.c         | 155 ++++++++++++++++++-------------------
>  qdev-monitor.c             |   4 +-
>  qom/qom-hmp-cmds.c         |   4 +-
>  6 files changed, 87 insertions(+), 88 deletions(-)
> 
> diff --git a/include/monitor/hmp.h b/include/monitor/hmp.h
> index a0e9511440..3d329853b2 100644
> --- a/include/monitor/hmp.h
> +++ b/include/monitor/hmp.h
> @@ -16,7 +16,7 @@
>  
>  #include "qemu/readline.h"
>  
> -void hmp_handle_error(Monitor *mon, Error **errp);
> +void hmp_handle_error(Monitor *mon, Error *err);
>  
>  void hmp_info_name(Monitor *mon, const QDict *qdict);
>  void hmp_info_version(Monitor *mon, const QDict *qdict);
> diff --git a/dump/dump-hmp-cmds.c b/dump/dump-hmp-cmds.c
> index 3dbf44372c..e5053b04cd 100644
> --- a/dump/dump-hmp-cmds.c
> +++ b/dump/dump-hmp-cmds.c
> @@ -32,7 +32,7 @@ void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict)
>  
>      if (zlib + lzo + snappy + win_dmp > 1) {
>          error_setg(&err, "only one of '-z|-l|-s|-w' can be set");
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -66,7 +66,7 @@ void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict)
>  
>      qmp_dump_guest_memory(paging, prot, true, detach, has_begin, begin,
>                            has_length, length, true, dump_format, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>      g_free(prot);
>  }
>  
> diff --git a/hw/core/machine-hmp-cmds.c b/hw/core/machine-hmp-cmds.c
> index cd970cc4c5..b76f7223af 100644
> --- a/hw/core/machine-hmp-cmds.c
> +++ b/hw/core/machine-hmp-cmds.c
> @@ -55,7 +55,7 @@ void hmp_cpu_add(Monitor *mon, const QDict *qdict)
>  
>      cpuid = qdict_get_int(qdict, "id");
>      qmp_cpu_add(cpuid, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict)
> @@ -66,7 +66,7 @@ void hmp_hotpluggable_cpus(Monitor *mon, const QDict *qdict)
>      CpuInstanceProperties *c;
>  
>      if (err != NULL) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -135,7 +135,7 @@ void hmp_info_memdev(Monitor *mon, const QDict *qdict)
>      monitor_printf(mon, "\n");
>  
>      qapi_free_MemdevList(memdev_list);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_info_numa(Monitor *mon, const QDict *qdict)
> diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
> index b2551c16d1..c5dea307b6 100644
> --- a/monitor/hmp-cmds.c
> +++ b/monitor/hmp-cmds.c
> @@ -60,11 +60,10 @@
>  #include <spice/enums.h>
>  #endif
>  
> -void hmp_handle_error(Monitor *mon, Error **errp)
> +void hmp_handle_error(Monitor *mon, Error *err)
>  {
> -    assert(errp);
> -    if (*errp) {
> -        error_reportf_err(*errp, "Error: ");
> +    if (err) {
> +        error_reportf_err(err, "Error: ");
>      }
>  }
>  
> @@ -734,7 +733,7 @@ void hmp_info_vnc(Monitor *mon, const QDict *qdict)
>  
>      info2l = qmp_query_vnc_servers(&err);
>      if (err) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>      if (!info2l) {
> @@ -850,7 +849,7 @@ void hmp_info_balloon(Monitor *mon, const QDict *qdict)
>  
>      info = qmp_query_balloon(&err);
>      if (err) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -1172,7 +1171,7 @@ void hmp_sync_profile(Monitor *mon, const QDict *qdict)
>          Error *err = NULL;
>  
>          error_setg(&err, QERR_INVALID_PARAMETER, op);
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>      }
>  }
>  
> @@ -1191,7 +1190,7 @@ void hmp_exit_preconfig(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_x_exit_preconfig(&err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_cpu(Monitor *mon, const QDict *qdict)
> @@ -1220,7 +1219,7 @@ void hmp_memsave(Monitor *mon, const QDict *qdict)
>      }
>  
>      qmp_memsave(addr, size, filename, true, cpu_index, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_pmemsave(Monitor *mon, const QDict *qdict)
> @@ -1231,7 +1230,7 @@ void hmp_pmemsave(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_pmemsave(addr, size, filename, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_ringbuf_write(Monitor *mon, const QDict *qdict)
> @@ -1242,7 +1241,7 @@ void hmp_ringbuf_write(Monitor *mon, const QDict *qdict)
>  
>      qmp_ringbuf_write(chardev, data, false, 0, &err);
>  
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_ringbuf_read(Monitor *mon, const QDict *qdict)
> @@ -1255,7 +1254,7 @@ void hmp_ringbuf_read(Monitor *mon, const QDict *qdict)
>  
>      data = qmp_ringbuf_read(chardev, size, false, 0, &err);
>      if (err) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -1280,7 +1279,7 @@ void hmp_cont(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_cont(&err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_system_wakeup(Monitor *mon, const QDict *qdict)
> @@ -1288,7 +1287,7 @@ void hmp_system_wakeup(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_system_wakeup(&err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_nmi(Monitor *mon, const QDict *qdict)
> @@ -1296,7 +1295,7 @@ void hmp_nmi(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_inject_nmi(&err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_set_link(Monitor *mon, const QDict *qdict)
> @@ -1306,7 +1305,7 @@ void hmp_set_link(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_set_link(name, up, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_block_passwd(Monitor *mon, const QDict *qdict)
> @@ -1316,7 +1315,7 @@ void hmp_block_passwd(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_block_passwd(true, device, false, NULL, password, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_balloon(Monitor *mon, const QDict *qdict)
> @@ -1325,7 +1324,7 @@ void hmp_balloon(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_balloon(value, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_block_resize(Monitor *mon, const QDict *qdict)
> @@ -1335,7 +1334,7 @@ void hmp_block_resize(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_block_resize(true, device, false, NULL, size, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_drive_mirror(Monitor *mon, const QDict *qdict)
> @@ -1358,11 +1357,11 @@ void hmp_drive_mirror(Monitor *mon, const QDict *qdict)
>  
>      if (!filename) {
>          error_setg(&err, QERR_MISSING_PARAMETER, "target");
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>      qmp_drive_mirror(&mirror, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_drive_backup(Monitor *mon, const QDict *qdict)
> @@ -1388,12 +1387,12 @@ void hmp_drive_backup(Monitor *mon, const QDict *qdict)
>  
>      if (!filename) {
>          error_setg(&err, QERR_MISSING_PARAMETER, "target");
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
>      qmp_drive_backup(&backup, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
> @@ -1409,7 +1408,7 @@ void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
>          /* In the future, if 'snapshot-file' is not specified, the snapshot
>             will be taken internally. Today it's actually required. */
>          error_setg(&err, QERR_MISSING_PARAMETER, "snapshot-file");
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -1418,7 +1417,7 @@ void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
>                                 filename, false, NULL,
>                                 !!format, format,
>                                 true, mode, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict)
> @@ -1428,7 +1427,7 @@ void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_blockdev_snapshot_internal_sync(device, name, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict)
> @@ -1440,7 +1439,7 @@ void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict)
>  
>      qmp_blockdev_snapshot_delete_internal_sync(device, !!id, id,
>                                                 true, name, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_loadvm(Monitor *mon, const QDict *qdict)
> @@ -1454,7 +1453,7 @@ void hmp_loadvm(Monitor *mon, const QDict *qdict)
>      if (load_snapshot(name, &err) == 0 && saved_vm_running) {
>          vm_start();
>      }
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_savevm(Monitor *mon, const QDict *qdict)
> @@ -1462,7 +1461,7 @@ void hmp_savevm(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      save_snapshot(qdict_get_try_str(qdict, "name"), &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_delvm(Monitor *mon, const QDict *qdict)
> @@ -1476,7 +1475,7 @@ void hmp_delvm(Monitor *mon, const QDict *qdict)
>                        "deleting snapshot on device '%s': ",
>                        bdrv_get_device_name(bs));
>      }
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_info_snapshots(Monitor *mon, const QDict *qdict)
> @@ -1652,7 +1651,7 @@ void hmp_migrate_continue(Monitor *mon, const QDict *qdict)
>          qmp_migrate_continue(val, &err);
>      }
>  
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_migrate_incoming(Monitor *mon, const QDict *qdict)
> @@ -1662,7 +1661,7 @@ void hmp_migrate_incoming(Monitor *mon, const QDict *qdict)
>  
>      qmp_migrate_incoming(uri, &err);
>  
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_migrate_recover(Monitor *mon, const QDict *qdict)
> @@ -1672,7 +1671,7 @@ void hmp_migrate_recover(Monitor *mon, const QDict *qdict)
>  
>      qmp_migrate_recover(uri, &err);
>  
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_migrate_pause(Monitor *mon, const QDict *qdict)
> @@ -1681,7 +1680,7 @@ void hmp_migrate_pause(Monitor *mon, const QDict *qdict)
>  
>      qmp_migrate_pause(&err);
>  
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  /* Kept for backwards compatibility */
> @@ -1697,7 +1696,7 @@ void hmp_migrate_set_cache_size(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_migrate_set_cache_size(value, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  /* Kept for backwards compatibility */
> @@ -1728,7 +1727,7 @@ void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict)
>  
>  end:
>      qapi_free_MigrationCapabilityStatusList(caps);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
> @@ -1869,7 +1868,7 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
>   cleanup:
>      qapi_free_MigrateSetParameters(p);
>      visit_free(v);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_client_migrate_info(Monitor *mon, const QDict *qdict)
> @@ -1886,14 +1885,14 @@ void hmp_client_migrate_info(Monitor *mon, const QDict *qdict)
>      qmp_client_migrate_info(protocol, hostname,
>                              has_port, port, has_tls_port, tls_port,
>                              !!cert_subject, cert_subject, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_migrate_start_postcopy(Monitor *mon, const QDict *qdict)
>  {
>      Error *err = NULL;
>      qmp_migrate_start_postcopy(&err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict)
> @@ -1901,7 +1900,7 @@ void hmp_x_colo_lost_heartbeat(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_x_colo_lost_heartbeat(&err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_set_password(Monitor *mon, const QDict *qdict)
> @@ -1912,7 +1911,7 @@ void hmp_set_password(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_set_password(protocol, password, !!connected, connected, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_expire_password(Monitor *mon, const QDict *qdict)
> @@ -1922,7 +1921,7 @@ void hmp_expire_password(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_expire_password(protocol, whenstr, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_eject(Monitor *mon, const QDict *qdict)
> @@ -1932,7 +1931,7 @@ void hmp_eject(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_eject(true, device, false, NULL, true, force, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  #ifdef CONFIG_VNC
> @@ -1978,7 +1977,7 @@ void hmp_change(Monitor *mon, const QDict *qdict)
>                                  read_only,
>                                  BLOCKDEV_CHANGE_READ_ONLY_MODE_RETAIN, &err);
>              if (err) {
> -                hmp_handle_error(mon, &err);
> +                hmp_handle_error(mon, err);
>                  return;
>              }
>          }
> @@ -1988,7 +1987,7 @@ void hmp_change(Monitor *mon, const QDict *qdict)
>                                     &err);
>      }
>  
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
> @@ -2016,7 +2015,7 @@ void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
>      }
>  
>      qmp_block_set_io_throttle(&throttle, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_block_stream(Monitor *mon, const QDict *qdict)
> @@ -2031,7 +2030,7 @@ void hmp_block_stream(Monitor *mon, const QDict *qdict)
>                       BLOCKDEV_ON_ERROR_REPORT, false, false, false, false,
>                       &error);
>  
> -    hmp_handle_error(mon, &error);
> +    hmp_handle_error(mon, error);
>  }
>  
>  void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict)
> @@ -2042,7 +2041,7 @@ void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict)
>  
>      qmp_block_job_set_speed(device, value, &error);
>  
> -    hmp_handle_error(mon, &error);
> +    hmp_handle_error(mon, error);
>  }
>  
>  void hmp_block_job_cancel(Monitor *mon, const QDict *qdict)
> @@ -2053,7 +2052,7 @@ void hmp_block_job_cancel(Monitor *mon, const QDict *qdict)
>  
>      qmp_block_job_cancel(device, true, force, &error);
>  
> -    hmp_handle_error(mon, &error);
> +    hmp_handle_error(mon, error);
>  }
>  
>  void hmp_block_job_pause(Monitor *mon, const QDict *qdict)
> @@ -2063,7 +2062,7 @@ void hmp_block_job_pause(Monitor *mon, const QDict *qdict)
>  
>      qmp_block_job_pause(device, &error);
>  
> -    hmp_handle_error(mon, &error);
> +    hmp_handle_error(mon, error);
>  }
>  
>  void hmp_block_job_resume(Monitor *mon, const QDict *qdict)
> @@ -2073,7 +2072,7 @@ void hmp_block_job_resume(Monitor *mon, const QDict *qdict)
>  
>      qmp_block_job_resume(device, &error);
>  
> -    hmp_handle_error(mon, &error);
> +    hmp_handle_error(mon, error);
>  }
>  
>  void hmp_block_job_complete(Monitor *mon, const QDict *qdict)
> @@ -2083,7 +2082,7 @@ void hmp_block_job_complete(Monitor *mon, const QDict *qdict)
>  
>      qmp_block_job_complete(device, &error);
>  
> -    hmp_handle_error(mon, &error);
> +    hmp_handle_error(mon, error);
>  }
>  
>  typedef struct HMPMigrationStatus
> @@ -2143,7 +2142,7 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
>      qmp_migrate(uri, !!blk, blk, !!inc, inc,
>                  false, false, true, resume, &err);
>      if (err) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -2181,7 +2180,7 @@ void hmp_netdev_add(Monitor *mon, const QDict *qdict)
>      }
>  
>  out:
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_netdev_del(Monitor *mon, const QDict *qdict)
> @@ -2190,7 +2189,7 @@ void hmp_netdev_del(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_netdev_del(id, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_object_add(Monitor *mon, const QDict *qdict)
> @@ -2201,7 +2200,7 @@ void hmp_object_add(Monitor *mon, const QDict *qdict)
>  
>      opts = qemu_opts_from_qdict(qemu_find_opts("object"), qdict, &err);
>      if (err) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -2209,7 +2208,7 @@ void hmp_object_add(Monitor *mon, const QDict *qdict)
>      qemu_opts_del(opts);
>  
>      if (err) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>      }
>      if (obj) {
>          object_unref(obj);
> @@ -2222,7 +2221,7 @@ void hmp_getfd(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_getfd(fdname, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_closefd(Monitor *mon, const QDict *qdict)
> @@ -2231,7 +2230,7 @@ void hmp_closefd(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_closefd(fdname, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_sendkey(Monitor *mon, const QDict *qdict)
> @@ -2290,7 +2289,7 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict)
>      }
>  
>      qmp_send_key(head, has_hold_time, hold_time, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  
>  out:
>      qapi_free_KeyValueList(head);
> @@ -2309,7 +2308,7 @@ void hmp_screendump(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_screendump(filename, id != NULL, id, id != NULL, head, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_nbd_server_start(Monitor *mon, const QDict *qdict)
> @@ -2364,7 +2363,7 @@ void hmp_nbd_server_start(Monitor *mon, const QDict *qdict)
>      qapi_free_BlockInfoList(block_list);
>  
>  exit:
> -    hmp_handle_error(mon, &local_err);
> +    hmp_handle_error(mon, local_err);
>  }
>  
>  void hmp_nbd_server_add(Monitor *mon, const QDict *qdict)
> @@ -2376,7 +2375,7 @@ void hmp_nbd_server_add(Monitor *mon, const QDict *qdict)
>  
>      qmp_nbd_server_add(device, !!name, name, true, writable,
>                         false, NULL, &local_err);
> -    hmp_handle_error(mon, &local_err);
> +    hmp_handle_error(mon, local_err);
>  }
>  
>  void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict)
> @@ -2387,7 +2386,7 @@ void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict)
>  
>      /* Rely on NBD_SERVER_REMOVE_MODE_SAFE being the default */
>      qmp_nbd_server_remove(name, force, NBD_SERVER_REMOVE_MODE_HARD, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict)
> @@ -2395,7 +2394,7 @@ void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_nbd_server_stop(&err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_chardev_add(Monitor *mon, const QDict *qdict)
> @@ -2411,7 +2410,7 @@ void hmp_chardev_add(Monitor *mon, const QDict *qdict)
>          qemu_chr_new_from_opts(opts, NULL, &err);
>          qemu_opts_del(opts);
>      }
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_chardev_change(Monitor *mon, const QDict *qdict)
> @@ -2445,7 +2444,7 @@ end:
>      qapi_free_ChardevReturn(ret);
>      qapi_free_ChardevBackend(backend);
>      qemu_opts_del(opts);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_chardev_remove(Monitor *mon, const QDict *qdict)
> @@ -2453,7 +2452,7 @@ void hmp_chardev_remove(Monitor *mon, const QDict *qdict)
>      Error *local_err = NULL;
>  
>      qmp_chardev_remove(qdict_get_str(qdict, "id"), &local_err);
> -    hmp_handle_error(mon, &local_err);
> +    hmp_handle_error(mon, local_err);
>  }
>  
>  void hmp_chardev_send_break(Monitor *mon, const QDict *qdict)
> @@ -2461,7 +2460,7 @@ void hmp_chardev_send_break(Monitor *mon, const QDict *qdict)
>      Error *local_err = NULL;
>  
>      qmp_chardev_send_break(qdict_get_str(qdict, "id"), &local_err);
> -    hmp_handle_error(mon, &local_err);
> +    hmp_handle_error(mon, local_err);
>  }
>  
>  void hmp_qemu_io(Monitor *mon, const QDict *qdict)
> @@ -2517,7 +2516,7 @@ void hmp_qemu_io(Monitor *mon, const QDict *qdict)
>  
>  fail:
>      blk_unref(local_blk);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_object_del(Monitor *mon, const QDict *qdict)
> @@ -2526,7 +2525,7 @@ void hmp_object_del(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      user_creatable_del(id, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)
> @@ -2576,7 +2575,7 @@ void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)
>      }
>  
>      qapi_free_MemoryDeviceInfoList(info_list);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_info_iothreads(Monitor *mon, const QDict *qdict)
> @@ -2605,7 +2604,7 @@ void hmp_rocker(Monitor *mon, const QDict *qdict)
>  
>      rocker = qmp_query_rocker(name, &err);
>      if (err != NULL) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -2624,7 +2623,7 @@ void hmp_rocker_ports(Monitor *mon, const QDict *qdict)
>  
>      list = qmp_query_rocker_ports(name, &err);
>      if (err != NULL) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -2653,7 +2652,7 @@ void hmp_rocker_of_dpa_flows(Monitor *mon, const QDict *qdict)
>  
>      list = qmp_query_rocker_of_dpa_flows(name, tbl_id != -1, tbl_id, &err);
>      if (err != NULL) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -2804,7 +2803,7 @@ void hmp_rocker_of_dpa_groups(Monitor *mon, const QDict *qdict)
>  
>      list = qmp_query_rocker_of_dpa_groups(name, type != 9, type, &err);
>      if (err != NULL) {
> -        hmp_handle_error(mon, &err);
> +        hmp_handle_error(mon, err);
>          return;
>      }
>  
> @@ -2911,7 +2910,7 @@ void hmp_info_vm_generation_id(Monitor *mon, const QDict *qdict)
>      if (info) {
>          monitor_printf(mon, "%s\n", info->guid);
>      }
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>      qapi_free_GuidInfo(info);
>  }
>  
> @@ -2930,5 +2929,5 @@ void hmp_info_memory_size_summary(Monitor *mon, const QDict *qdict)
>  
>          qapi_free_MemoryInfo(info);
>      }
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
> diff --git a/qdev-monitor.c b/qdev-monitor.c
> index 148df9cacf..85b58620d1 100644
> --- a/qdev-monitor.c
> +++ b/qdev-monitor.c
> @@ -857,7 +857,7 @@ void hmp_device_add(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_device_add((QDict *)qdict, NULL, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_device_del(Monitor *mon, const QDict *qdict)
> @@ -866,7 +866,7 @@ void hmp_device_del(Monitor *mon, const QDict *qdict)
>      Error *err = NULL;
>  
>      qmp_device_del(id, &err);
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  BlockBackend *blk_by_qdev_id(const char *id, Error **errp)
> diff --git a/qom/qom-hmp-cmds.c b/qom/qom-hmp-cmds.c
> index a268e01eb4..cd08233a4c 100644
> --- a/qom/qom-hmp-cmds.c
> +++ b/qom/qom-hmp-cmds.c
> @@ -37,7 +37,7 @@ void hmp_qom_list(Monitor *mon, const QDict *qdict)
>          }
>          qapi_free_ObjectPropertyInfoList(start);
>      }
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  void hmp_qom_set(Monitor *mon, const QDict *qdict)
> @@ -59,7 +59,7 @@ void hmp_qom_set(Monitor *mon, const QDict *qdict)
>          }
>          object_property_parse(obj, value, property, &err);
>      }
> -    hmp_handle_error(mon, &err);
> +    hmp_handle_error(mon, err);
>  }
>  
>  typedef struct QOMCompositionState {
> -- 
> 2.21.0
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK


  reply index

Thread overview: 194+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-11 16:03 [RFC v5 000/126] error: auto propagated local_err Vladimir Sementsov-Ogievskiy
2019-10-11 16:03 ` [RFC v5 001/126] hw/core/loader-fit: fix freeing errp in fit_load_fdt Vladimir Sementsov-Ogievskiy
2019-10-11 16:03 ` [RFC v5 002/126] net/net: Clean up variable shadowing in net_client_init() Vladimir Sementsov-Ogievskiy
2019-10-12  6:04   ` Philippe Mathieu-Daudé
2019-10-11 16:03 ` [RFC v5 003/126] error: rename errp to errp_in where it is IN-argument Vladimir Sementsov-Ogievskiy
2019-10-11 18:29   ` Eric Blake
2019-10-11 16:03 ` [RFC v5 004/126] hmp: drop Error pointer indirection in hmp_handle_error Vladimir Sementsov-Ogievskiy
2019-10-11 16:33   ` Dr. David Alan Gilbert [this message]
2019-10-11 18:32   ` Eric Blake
2019-10-11 18:35     ` Dr. David Alan Gilbert
2019-10-11 16:03 ` [RFC v5 005/126] vnc: drop Error pointer indirection in vnc_client_io_error Vladimir Sementsov-Ogievskiy
2019-10-11 16:03 ` [RFC v5 006/126] qdev-monitor: well form error hint helpers Vladimir Sementsov-Ogievskiy
2019-11-08 20:49   ` Marc-André Lureau
2019-10-11 16:03 ` [RFC v5 007/126] nbd: well form nbd_iter_channel_error errp handler Vladimir Sementsov-Ogievskiy
2019-10-11 16:48   ` Eric Blake
2019-10-11 16:03 ` [RFC v5 008/126] ppc: well form kvmppc_hint_smt_possible error hint helper Vladimir Sementsov-Ogievskiy
2019-11-08 20:50   ` Marc-André Lureau
2019-10-11 16:03 ` [RFC v5 009/126] 9pfs: well form error hint helpers Vladimir Sementsov-Ogievskiy
2019-10-12 14:59   ` Greg Kurz
2019-10-11 16:03 ` [RFC v5 010/126] hw/core/qdev: cleanup Error ** variables Vladimir Sementsov-Ogievskiy
2019-10-11 16:52   ` Eric Blake
2019-11-08 20:55   ` Marc-André Lureau
2019-10-11 16:03 ` [RFC v5 011/126] block/snapshot: rename Error ** parameter to more common errp Vladimir Sementsov-Ogievskiy
2019-10-11 16:52   ` Eric Blake
2019-10-11 16:03 ` [RFC v5 012/126] hw/i386/amd_iommu: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:03 ` [RFC v5 013/126] qga: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 014/126] monitor/qmp-cmds: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 015/126] hw/s390x: " Vladimir Sementsov-Ogievskiy
2019-11-12 13:01   ` Cornelia Huck
2019-10-11 16:04 ` [RFC v5 016/126] hw/sd: " Vladimir Sementsov-Ogievskiy
2019-10-11 18:12   ` Eric Blake
2019-10-11 16:04 ` [RFC v5 017/126] hw/tpm: " Vladimir Sementsov-Ogievskiy
2019-10-11 17:00   ` Stefan Berger
2019-10-11 16:04 ` [RFC v5 018/126] hw/usb: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 019/126] include/block/snapshot.h: " Vladimir Sementsov-Ogievskiy
2019-10-11 18:13   ` Eric Blake
2019-10-11 16:04 ` [RFC v5 020/126] include/qom/object.h: " Vladimir Sementsov-Ogievskiy
2019-10-12  6:07   ` Philippe Mathieu-Daudé
2019-10-11 16:04 ` [RFC v5 021/126] qapi/error: add (Error **errp) cleaning APIs Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 022/126] backends/cryptodev: drop local_err from cryptodev_backend_complete() Vladimir Sementsov-Ogievskiy
2019-10-12  6:08   ` Philippe Mathieu-Daudé
2019-11-08 20:59   ` Marc-André Lureau
2019-10-11 16:04 ` [RFC v5 023/126] hw/vfio/ap: drop local_err from vfio_ap_realize Vladimir Sementsov-Ogievskiy
2019-11-08 21:00   ` Marc-André Lureau
2019-11-12 13:06   ` Cornelia Huck
2019-11-12 15:29     ` Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 024/126] error: auto propagated local_err Vladimir Sementsov-Ogievskiy
2019-11-08 21:10   ` Marc-André Lureau
2019-11-08 22:45     ` Eric Blake
2019-10-11 16:04 ` [RFC v5 025/126] scripts: add coccinelle script to use auto propagated errp Vladimir Sementsov-Ogievskiy
2019-10-11 17:12   ` Eric Blake
2019-10-11 18:15     ` Eric Blake
2019-10-14  8:19     ` Vladimir Sementsov-Ogievskiy
2019-10-14 14:00       ` Eric Blake
2019-10-11 16:04 ` [RFC v5 026/126] python: add commit-per-subsystem.py Vladimir Sementsov-Ogievskiy
2019-11-08 21:18   ` Marc-André Lureau
2019-11-11 16:37   ` Aleksandar Markovic
2019-11-12 13:08   ` Cornelia Huck
2019-10-11 16:04 ` [RFC v5 027/126] misc: introduce ERRP_AUTO_PROPAGATE Vladimir Sementsov-Ogievskiy
2019-10-11 18:44   ` Eric Blake
2019-10-14  8:51     ` Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 028/126] s390x: " Vladimir Sementsov-Ogievskiy
2019-11-12 13:20   ` Cornelia Huck
2019-10-11 16:04 ` [RFC v5 029/126] tcg: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 030/126] kvm: " Vladimir Sementsov-Ogievskiy
2019-11-12 13:31   ` Cornelia Huck
2019-10-11 16:04 ` [RFC v5 031/126] xen: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 032/126] Hosts: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 033/126] ARM Machines: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 034/126] MIPS " Vladimir Sementsov-Ogievskiy
2019-10-12  6:22   ` Philippe Mathieu-Daudé
2019-10-14  8:55     ` Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 035/126] PowerPC " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 036/126] SPARC " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 037/126] S390 " Vladimir Sementsov-Ogievskiy
2019-11-12 13:33   ` Cornelia Huck
2019-10-11 16:04 ` [RFC v5 038/126] X86 " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 039/126] IDE: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 040/126] Floppy: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 041/126] IPack: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 042/126] PCI: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 043/126] ACPI/SMBIOS: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 044/126] Network devices: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 045/126] pflash: " Vladimir Sementsov-Ogievskiy
2019-10-12  6:11   ` Philippe Mathieu-Daudé
2019-10-11 16:04 ` [RFC v5 046/126] SCSI: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 047/126] SD (Secure Card): " Vladimir Sementsov-Ogievskiy
2019-10-12  6:13   ` Philippe Mathieu-Daudé
2019-10-11 16:04 ` [RFC v5 048/126] USB: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 049/126] USB (serial adapter): " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 050/126] VFIO: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 051/126] vfio-ccw: " Vladimir Sementsov-Ogievskiy
2019-11-12 13:35   ` Cornelia Huck
2019-10-11 16:04 ` [RFC v5 052/126] vhost: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 053/126] virtio: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 054/126] virtio-9p: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 055/126] virtio-blk: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 056/126] virtio-ccw: " Vladimir Sementsov-Ogievskiy
2019-11-12 13:37   ` Cornelia Huck
2019-10-11 16:04 ` [RFC v5 057/126] virtio-input: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 058/126] virtio-serial: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 059/126] virtio-rng: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 060/126] megasas: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 061/126] NVDIMM: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 062/126] eepro100: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 063/126] virtio-gpu: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 064/126] fw_cfg: " Vladimir Sementsov-Ogievskiy
2019-10-12  6:13   ` Philippe Mathieu-Daudé
2019-10-11 16:04 ` [RFC v5 065/126] XIVE: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 066/126] Audio: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 067/126] block: " Vladimir Sementsov-Ogievskiy
2019-10-11 19:15   ` Eric Blake
2019-10-11 16:04 ` [RFC v5 068/126] scsi: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 069/126] chardev: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 070/126] cmdline: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 071/126] Dump: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 072/126] Memory API: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:04 ` [RFC v5 073/126] SPICE: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 074/126] Graphics: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 075/126] Main loop: " Vladimir Sementsov-Ogievskiy
2019-10-12  6:24   ` Philippe Mathieu-Daudé
2019-10-11 16:05 ` [RFC v5 076/126] Human Monitor (HMP): " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 077/126] net: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 078/126] hostmem: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 079/126] cryptodev: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 080/126] QAPI: " Vladimir Sementsov-Ogievskiy
2019-10-11 19:22   ` Eric Blake
2019-10-11 16:05 ` [RFC v5 081/126] qga: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 082/126] QOM: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 083/126] QMP: " Vladimir Sementsov-Ogievskiy
2019-10-11 19:25   ` Eric Blake
2019-10-11 16:05 ` [RFC v5 084/126] SLIRP: " Vladimir Sementsov-Ogievskiy
2019-10-12  6:26   ` Philippe Mathieu-Daudé
2019-10-11 16:05 ` [RFC v5 085/126] Tracing: " Vladimir Sementsov-Ogievskiy
2019-10-12  6:26   ` Philippe Mathieu-Daudé
2019-10-11 16:05 ` [RFC v5 086/126] TPM: " Vladimir Sementsov-Ogievskiy
2019-10-16 14:35   ` Stefan Berger
2019-10-11 16:05 ` [RFC v5 087/126] Migration: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 088/126] Cryptography: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 089/126] I/O Channels: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 090/126] Sockets: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 091/126] colo: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 092/126] Record/replay: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 093/126] VMDK: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 094/126] RBD: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 095/126] Sheepdog: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 096/126] VHDX: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 097/126] VDI: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 098/126] iSCSI: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 099/126] nbd: " Vladimir Sementsov-Ogievskiy
2019-10-11 19:39   ` Eric Blake
2019-10-11 16:05 ` [RFC v5 100/126] NFS: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 101/126] SSH: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 102/126] CURL: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 103/126] GLUSTER: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 104/126] NVMe Block Driver: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 105/126] Bootdevice: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 106/126] Quorum: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 107/126] blklogwrites: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 108/126] blkverify: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 109/126] parallels: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 110/126] qed: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 111/126] raw: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 112/126] qcow2: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 113/126] qcow: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 114/126] blkdebug: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 115/126] vpc: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 116/126] vvfat: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 117/126] Replication: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 118/126] PVRDMA: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 119/126] hw/core/bus.c: " Vladimir Sementsov-Ogievskiy
2019-10-12  6:29   ` Philippe Mathieu-Daudé
2019-10-11 16:05 ` [RFC v5 120/126] hw/cpu/core.c: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 121/126] hw/sd/ssi-sd.c: " Vladimir Sementsov-Ogievskiy
2019-10-12  6:33   ` Philippe Mathieu-Daudé
2019-10-14  9:07     ` Vladimir Sementsov-Ogievskiy
2019-10-14  9:14       ` Philippe Mathieu-Daudé
2019-10-14  9:15         ` Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 122/126] iothread.c: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 123/126] memory_mapping.c: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 124/126] target/tilegx/cpu.c: " Vladimir Sementsov-Ogievskiy
2019-10-12  7:13   ` Philippe Mathieu-Daudé
2019-10-11 16:05 ` [RFC v5 125/126] tests/test-image-locking.c: " Vladimir Sementsov-Ogievskiy
2019-10-11 16:05 ` [RFC v5 126/126] util/qemu-config.c: " Vladimir Sementsov-Ogievskiy
2019-10-11 17:02 ` [RFC v5 000/126] error: auto propagated local_err Eric Blake
2019-10-14  8:37   ` Vladimir Sementsov-Ogievskiy
2019-10-12  2:10 ` no-reply
2019-10-14  9:14   ` Vladimir Sementsov-Ogievskiy
2019-10-12  2:52 ` no-reply
2019-10-14  9:11   ` Vladimir Sementsov-Ogievskiy
2019-11-08 15:30 ` Vladimir Sementsov-Ogievskiy
2019-11-08 18:57   ` Marc-André Lureau
2019-11-12 13:46     ` Cornelia Huck
2019-11-12 15:33       ` Vladimir Sementsov-Ogievskiy

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191011163332.GR3354@work-vm \
    --to=dgilbert@redhat.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

QEMU-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git
	git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \
		qemu-devel@nongnu.org
	public-inbox-index qemu-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.nongnu.qemu-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git