[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 12/23] error: Use error_prepend() where it ma
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v2 12/23] error: Use error_prepend() where it makes obvious sense |
Date: |
Thu, 17 Dec 2015 13:43:21 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 12/17/2015 09:49 AM, Markus Armbruster wrote:
> Done with this Coccinelle semantic patch
>
> @@
> expression FMT, E1, E2;
> expression list ARGS;
> @@
> - error_setg(E1, FMT, ARGS, error_get_pretty(E2));
> + error_propagate(E1, E2);/*###*/
> + error_prepend(E1, FMT/*@@@*/, ARGS);
>
> followed by manual cleanup, first because I can't figure out how to
> make Coccinelle transform strings, and second to get rid of now
> superfluous error_propagate().
Trying to understand this...
>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> +++ b/block/qed.c
> @@ -1611,9 +1611,8 @@ static void bdrv_qed_invalidate_cache(BlockDriverState
> *bs, Error **errp)
> memset(s, 0, sizeof(BDRVQEDState));
> ret = bdrv_qed_open(bs, NULL, bs->open_flags, &local_err);
> if (local_err) {
> - error_setg(errp, "Could not reopen qed layer: %s",
> - error_get_pretty(local_err));
> - error_free(local_err);
> + error_propagate(errp, local_err);
> + error_prepend(errp, "Could not reopen qed layer: ");
...error_propagate() was not always superfluous...
> return;
> } else if (ret < 0) {
> error_setg_errno(errp, -ret, "Could not reopen qed layer");
> diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
> index c57f293..df77ba8 100644
> --- a/hw/block/dataplane/virtio-blk.c
> +++ b/hw/block/dataplane/virtio-blk.c
> @@ -142,7 +142,6 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev,
> VirtIOBlkConf *conf,
> Error **errp)
> {
> VirtIOBlockDataPlane *s;
> - Error *local_err = NULL;
> BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev)));
> VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
>
> @@ -163,11 +162,8 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev,
> VirtIOBlkConf *conf,
> /* If dataplane is (re-)enabled while the guest is running there could be
> * block jobs that can conflict.
> */
> - if (blk_op_is_blocked(conf->conf.blk, BLOCK_OP_TYPE_DATAPLANE,
> - &local_err)) {
> - error_setg(errp, "cannot start dataplane thread: %s",
> - error_get_pretty(local_err));
> - error_free(local_err);
> + if (blk_op_is_blocked(conf->conf.blk, BLOCK_OP_TYPE_DATAPLANE, errp)) {
> + error_prepend(errp, "cannot start dataplane thread: ");
...but when the only use of a local error was just to rewrite its
message, then the local error variable and error_propagate() call can
just go away instead. Okay, makes sense now, and no, I don't know how
to make Coccinelle do it either.
Reviewed-by: Eric Blake <address@hidden>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v2 05/23] error: Improve documentation around error_append_hint(), (continued)
- [Qemu-devel] [PATCH v2 05/23] error: Improve documentation around error_append_hint(), Markus Armbruster, 2015/12/17
- Re: [Qemu-devel] [PATCH v2 05/23] error: Improve documentation around error_append_hint(), Eric Blake, 2015/12/17
- Re: [Qemu-devel] [PATCH v2 05/23] error: Improve documentation around error_append_hint(), Markus Armbruster, 2015/12/17
- Re: [Qemu-devel] [PATCH v2 05/23] error: Improve documentation around error_append_hint(), Eric Blake, 2015/12/17
- Re: [Qemu-devel] [PATCH v2 05/23] error: Improve documentation around error_append_hint(), Markus Armbruster, 2015/12/17
- Re: [Qemu-devel] [PATCH v2 05/23] error: Improve documentation around error_append_hint(), Eric Blake, 2015/12/17
- Re: [Qemu-devel] [PATCH v2 05/23] error: Improve documentation around error_append_hint(), Markus Armbruster, 2015/12/18
[Qemu-devel] [PATCH v2 07/23] qemu-nbd: Clean up "Failed to load snapshot" error message, Markus Armbruster, 2015/12/17
[Qemu-devel] [PATCH v2 12/23] error: Use error_prepend() where it makes obvious sense, Markus Armbruster, 2015/12/17
- Re: [Qemu-devel] [PATCH v2 12/23] error: Use error_prepend() where it makes obvious sense,
Eric Blake <=
[Qemu-devel] [PATCH v2 11/23] error: Use error_reportf_err() where it makes obvious sense, Markus Armbruster, 2015/12/17
[Qemu-devel] [PATCH v2 20/23] vhdx: Fix "log that needs to be replayed" error message, Markus Armbruster, 2015/12/17
[Qemu-devel] [PATCH v2 19/23] pci-assign: Clean up "Failed to assign" error messages, Markus Armbruster, 2015/12/17
[Qemu-devel] [PATCH v2 10/23] error: Don't decorate original error message when adding to it, Markus Armbruster, 2015/12/17
[Qemu-devel] [PATCH v2 15/23] qemu-io qemu-nbd: Use error_report() etc. instead of fprintf(), Markus Armbruster, 2015/12/17