public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
To: Daniel Ehrenberg <dehrenberg@chromium.org>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>
Cc: grundler@chromium.org, Richard Weinberger <richard@nod.at>,
	Gwendal Grignou <gwendal@chromium.org>
Subject: Re: [PATCH] UBI: block: Continue creating ubiblocks after an initialization error
Date: Thu, 18 Dec 2014 08:25:52 -0300	[thread overview]
Message-ID: <5492B9C0.2060904@vanguardiasur.com.ar> (raw)
In-Reply-To: <CAAK6Zt2dbK1EayqrvNWsZQxiCJ97YidHYGLs-DC8pv3Ggitz1w@mail.gmail.com>

On 12/17/2014 08:16 PM, Daniel Ehrenberg wrote:
> If one ubi volume is corrupted but another is not, it should be
> possible to initialize that ubiblock from a kernel commandline which
> includes both of them. This patch changes the error handling behavior
> in initializing ubiblock to ensure that all parameters are attempted
> even if one fails. If there is a failure, it returns one of the
> error status codes. It also makes error messages more descriptive
> by including the name of the UBI volume that failed.
> 
> Tested: Formatted ubi volume /dev/ubi5_0 in a corrupt way and
> dev/ubi3_0 properly and included "ubi.block=5,0 ubi.block=3,0" on
> the kernel command line. At boot, I see the following in the console:
> [   21.082420] UBI error: ubiblock_create_from_param: block: can't
> open volume on ubi5_0, err=-19
> [   21.084268] UBI: ubiblock3_0 created from ubi3:0(rootfs)
> 
> Signed-off-by: Dan Ehrenberg <dehrenberg@chromium.org>
> ---
>  drivers/mtd/ubi/block.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
> index 8876c7d..32eeeee 100644
> --- a/drivers/mtd/ubi/block.c
> +++ b/drivers/mtd/ubi/block.c
> @@ -596,10 +596,11 @@ static int __init ubiblock_create_from_param(void)
>

Do you think we can add a comment here to explain how errors are treated?

>                 desc = open_volume_desc(p->name, p->ubi_num, p->vol_id);
>                 if (IS_ERR(desc)) {
> -                       ubi_err("block: can't open volume, err=%ld\n",
> -                               PTR_ERR(desc));
> +                       ubi_err(
> +                               "block: can't open volume on ubi%d_%d, err=%ld",
> +                               p->ubi_num, p->vol_id, PTR_ERR(desc));

Is it me, or this line break is unneeded here?

Also, it seems something is wrong with the patch format. Patchwork shows
some oddities:

http://patchwork.ozlabs.org/patch/422408/

-- 
Ezequiel Garcia, VanguardiaSur
www.vanguardiasur.com.ar

  parent reply	other threads:[~2014-12-18 11:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-17 23:16 [PATCH] UBI: block: Continue creating ubiblocks after an initialization error Daniel Ehrenberg
2014-12-18  0:44 ` Richard Weinberger
2014-12-18 11:25 ` Ezequiel Garcia [this message]
2014-12-18 22:17   ` Daniel Ehrenberg
2014-12-18 22:46   ` Grant Grundler

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=5492B9C0.2060904@vanguardiasur.com.ar \
    --to=ezequiel@vanguardiasur.com.ar \
    --cc=dehrenberg@chromium.org \
    --cc=grundler@chromium.org \
    --cc=gwendal@chromium.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=richard@nod.at \
    /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