[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] file-posix: Consolidate the locking error messa
From: |
Daniel P . Berrangé |
Subject: |
Re: [Qemu-devel] [PATCH] file-posix: Consolidate the locking error message |
Date: |
Thu, 7 Jun 2018 14:22:31 +0100 |
User-agent: |
Mutt/1.9.5 (2018-04-13) |
On Thu, Jun 07, 2018 at 03:20:24PM +0200, Markus Armbruster wrote:
> Daniel P. Berrangé <address@hidden> writes:
>
> > On Fri, Jun 01, 2018 at 05:18:35PM +0800, Fam Zheng wrote:
> >> When hot-plugging a block device fails due to image locking errors,
> >> users won't see the helpful 'Is another process using the image?'
> >> message in QMP because currently the error hint is not carried over
> >> there.
> >>
> >> Even though extending QMP to include hint is a conceivably easy task,
> >> Libvirt will need some change to consume that data.
> >>
> >> Before that is fully sorted out, let's just do the easy fix by joining
> >> the two lines.
> >
> > There are many places in QEMU which uses error hints and these are all
> > invisible to libvirt. Arbitrarily picking one hint to remove, while
> > leaving everything else unfixed is not a very satisfactory approach.
> >
> > If QEMU passes the hint in QMP, it is trivial for libvirt to be changed
> > to append the hint when reporting its own error message, so can we just
> > focus on fixing the root cause instead of special casing file-posix.c
>
> Intended use of hints according to error.h:
>
> * Intended use is adding helpful hints on the human user interface,
> * e.g. a list of valid values. It's not for clarifying a confusing
> * error message.
>
> I admit this guidance is widely ignored.
Perhaps if we rename the function "error_append_hmp_hint" it would
make it obvious this is targetted at CLI users, and not QMP users,
and so encourage people to write better initial messages ?
>
> When used as intended, the hints need not make any sense in QMP!
> Consider this example in qemu-option.c:
>
> error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name,
> "a non-negative number below 2^64");
> error_append_hint(errp, "Optional suffix k, M, G, T, P or E means"
> " kilo-, mega-, giga-, tera-, peta-\n"
> "and exabytes, respectively.\n");
>
> The suffixes are only available in the human interface.
>
> Aside: we have lots of code consuming input from both QMP and HMP / CLI.
> The error reporting is generally atrocious for at least one of the two.
>
> Perhaps we could use separate functions for providing syntax hints and
> for clarifying confusing error messages. Patches welcome, but they
> better convert all existing uses.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|