All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Kevin Wolf <kwolf@redhat.com>
Cc: stefanha@gmail.com, qemu-devel@nongnu.org, lcapitulino@redhat.com
Subject: [Qemu-devel] Re: [PATCH 3/4] qed: Report error for unsupported features
Date: Wed, 09 Feb 2011 05:20:54 -0600	[thread overview]
Message-ID: <4D527896.7090702@codemonkey.ws> (raw)
In-Reply-To: <1297247521-11464-4-git-send-email-kwolf@redhat.com>

On 02/09/2011 04:32 AM, Kevin Wolf wrote:
> Instead of just returning -ENOTSUP, generate a more detailed error.
>
> Unfortunately we don't have a helpful text for features that we don't know yet,
> so just print the feature mask. It might be useful at least if someone asks for
> help.
>
> Signed-off-by: Kevin Wolf<kwolf@redhat.com>
>    

We can use a compatible feature to create a feature name table.

> ---
>   block/qed.c |    8 +++++++-
>   1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/block/qed.c b/block/qed.c
> index 3273448..8b0a975 100644
> --- a/block/qed.c
> +++ b/block/qed.c
> @@ -14,6 +14,7 @@
>
>   #include "trace.h"
>   #include "qed.h"
> +#include "qerror.h"
>
>   static void qed_aio_cancel(BlockDriverAIOCB *blockacb)
>   {
> @@ -311,7 +312,12 @@ static int bdrv_qed_open(BlockDriverState *bs, int flags)
>           return -EINVAL;
>       }
>       if (s->header.features&  ~QED_FEATURE_MASK) {
> -        return -ENOTSUP; /* image uses unsupported feature bits */
> +        /* image uses unsupported feature bits */
> +        char version[64];
> +        snprintf(version, sizeof(version), "%" PRIx64, s->header.features);
>    

It would be useful to do s->header.features & QED_FEATURE_MASK here as a 
management tool doesn't know what features this version of QED supports.

Regards,

Anthony Liguori

> +        qerror_report(QERR_UNKNOWN_BLOCK_FORMAT_FEATURE,
> +            bs->device_name, version);
> +        return -ENOTSUP;
>       }
>       if (!qed_is_cluster_size_valid(s->header.cluster_size)) {
>           return -EINVAL;
>    

  reply	other threads:[~2011-02-09 11:21 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-09 10:31 [Qemu-devel] [PATCH 0.14/master 0/4] Error messages for unsupoorted image format features Kevin Wolf
2011-02-09 10:31 ` [Qemu-devel] [PATCH 1/4] qerror: Add QERR_UNKNOWN_BLOCK_FORMAT_FEATURE Kevin Wolf
2011-02-09 11:08   ` [Qemu-devel] " Anthony Liguori
2011-02-09 11:26     ` Kevin Wolf
2011-02-09 11:28       ` Anthony Liguori
2011-02-09 10:31 ` [Qemu-devel] [PATCH 2/4] qcow2: Report error for version > 2 Kevin Wolf
2011-02-09 10:32 ` [Qemu-devel] [PATCH 3/4] qed: Report error for unsupported features Kevin Wolf
2011-02-09 11:20   ` Anthony Liguori [this message]
2011-02-09 11:21   ` [Qemu-devel] " Anthony Liguori
2011-02-09 11:29     ` Kevin Wolf
2011-02-09 11:29       ` Anthony Liguori
2011-02-09 12:09     ` Kevin Wolf
2011-02-09 10:32 ` [Qemu-devel] [PATCH 4/4] qemu-img: Improve error messages for failed bdrv_open Kevin Wolf

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=4D527896.7090702@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.