From: Jack Schwartz <jack.schwartz@oracle.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-block@nongnu.org,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
armbru@redhat.com, qemu-devel@nongnu.org, mreitz@redhat.com,
Karl Heubaum <karl.heubaum@oracle.com>
Subject: Re: [Qemu-devel] [PATCH v1 1/1] block: Add numeric errno field to BLOCK_IO_ERROR events
Date: Wed, 10 Jan 2018 13:28:43 -0800 [thread overview]
Message-ID: <8d4280f6-fbd4-dba0-94ab-ede75f5bf773@oracle.com> (raw)
In-Reply-To: <20180109102448.GC6063@localhost.localdomain>
Hi Kevin.
Thanks for your feedback.
Looks like my team's project plans have changed, and there is no need to
pursue this further. We can work with the existing reason string.
Thanks,
Jack
On 01/09/18 02:24, Kevin Wolf wrote:
> Am 08.01.2018 um 20:57 hat Jack Schwartz geschrieben:
>> Hi Kevin.
>>
>> On 2017-12-22 05:52, Kevin Wolf wrote:
>>> Am 22.12.2017 um 01:11 hat Jack Schwartz geschrieben:
>>>> BLOCK_IO_ERROR events currently contain a "reason" string which is
>>>> strerror(errno) of the error. This enhancement provides those events with
>>>> the numeric errno value as well, since it is easier to parse for error type
>>>> than a string.
>>>>
>>>> Signed-off-by: Jack Schwartz<jack.schwartz@oracle.com>
>>>> Reviewed-by: Konrad Rzeszutek Wilk<konrad.wilk@oracle.com>
>>>> Reviewed-by: Karl Heubaum<karl.heubaum@oracle.com>
>>> Apart from the technical details that Eric mentioed, I wonder what is
>>> your use case for this?
>> We have thousands of servers in our cloud, and would like to closely monitor
>> for different kinds of disk errors without parsing the non-machine-readable
>> error string.
> So do you actually care about the semantical difference between, say,
> EINVAL and EIO, and treat them differently in the monitoring? To be
> honest, I can't see anything useful you could do with this information
> because there are so many possible causes for each of the error codes.
>
> Because if the only thing you want to do with them is to log them in
> different categories, you can use the error strings without parsing
> them.
>
>>> Exposing errors in a machine readable form was discussed earlier,
>> OK, found it. April of 2010.
>>
>> Upshot of discussion: exposing naked errnos are platform dependent.
> Right, that's what Eric mentioned.
>
>>> and
>>> the result was that nobody had an actual use for error codes other than
>>> presenting the right error message to the user - which the error string
>>> already achieves.
>> Given the platform independence requirement, exposing errors to clients is
>> not that simple given that different OSs use different errno values. Other
>> options/considerations than exposing naked errno values:
>>
>> - Having a platform-independent enumeration of errors, as Eric suggested.
>> This would have to explicitly set an enumerated value for each individual
>> errno we are interested in. It would be returned in a field that ~parallels
>> the "reason" string. This should be OK since for BLOCK_IO_ERROR events we
>> could limit values to just storage device errors plus a default "other";
>> otherwise this could be hard to maintain.
> But what are "storage device errors"? Can't we get more or less any
> error while processing an I/O request?
>
>> - The strerror strings cannot be used because they can change with locale.
>> (This also assumes the strings are identical for given errnos
>> cross-platform, and that there are no typos - which are not automatically
>> checked-for.)
> You mean when you aggregate errors from multiple different hosts running
> on different platforms and where you don't control the locale?
>
> But cross-platform, even the exact numeric error codes you get may
> differ, so they become even less meaningful than they already are on a
> single platform.
>
> Kevin
>
prev parent reply other threads:[~2018-01-10 21:28 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-22 0:11 [Qemu-devel] [PATCH v1 0/1] block: Add numeric errno field to BLOCK_IO_ERROR events Jack Schwartz
2017-12-22 0:11 ` [Qemu-devel] [PATCH v1 1/1] " Jack Schwartz
2017-12-22 1:08 ` Eric Blake
2017-12-22 1:15 ` [Qemu-devel] [Qemu-block] " Eric Blake
2017-12-22 13:52 ` [Qemu-devel] " Kevin Wolf
2018-01-08 19:57 ` Jack Schwartz
2018-01-09 10:24 ` Kevin Wolf
2018-01-10 21:28 ` Jack Schwartz [this message]
Reply instructions:
You may reply publicly 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=8d4280f6-fbd4-dba0-94ab-ede75f5bf773@oracle.com \
--to=jack.schwartz@oracle.com \
--cc=armbru@redhat.com \
--cc=karl.heubaum@oracle.com \
--cc=konrad.wilk@oracle.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).