All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bill Pringlemeir <bpringlemeir@nbsps.com>
To: hujianyang <hujianyang@huawei.com>
Cc: linux-mtd@lists.infradead.org, dedekind1@gmail.com
Subject: Re: [PATCH 6/7] New utility ubidump
Date: Tue, 22 Jul 2014 11:42:51 -0400	[thread overview]
Message-ID: <87bnshl7r8.fsf@nbsps.com> (raw)
In-Reply-To: <53CE1D97.6010609@huawei.com> (hujianyang@huawei.com's message of "Tue, 22 Jul 2014 16:15:19 +0800")

On 22 Jul 2014, hujianyang@huawei.com wrote:

> I've read your code.  This code shows me a better way to get EC header
> and VID header than my 'ioctl' design. Thanks~!

> I think my former work started in a wrong way. Using MTD functionality
> as yours seems better to develop a new utility we want.

> So in the next step, I would like to resend a new patch set which just
> read fs data by mtd_read(). I think a new ioctl is needed to translate
> specified eraseblock num from lnum to pnum.

The code I sent is not very clear on this.  However, the variables
'eba_map' and 'pba_map' are static arrays that do this mapping.
Basically, the algorithm is,

  for each erase block,
    read EC header.
    if(EC good) 
       read VID header
       if(VID good)
         place_in_map().

The structure of the base UBI is very simple.  An issue the code I sent
doesn't handle is when two headers map to the same 'logical block'.  The
'sqnum' should resolve this.

   place_in_map()
     if(LEB empty)
      map PEB.
     else if(LEB sqnum < new sqnum) /* care of wrapping or large change? */
      map new PEB to LEB.

For this utility, we might wish to keep the older PEB around in case the
current version is corrupt at a higher (UbiFS) layer or maybe not.
However, writing our own layer gives this flexibility and we don't have
to add code to the Linux MTD layers.  More importantly, the utility will
not need (a compatible) Linux MTD layer on the host machine to check the
UBI/UbiFs dump, if we can do this without an 'ioctl()'.

Thanks for attempting this.  I think many people realize the value of
such a tool.

Regards,
Bill Pringlemeir.

  reply	other threads:[~2014-07-22 15:55 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-07  7:15 [PATCH RFC] ubi-utils: Add a new utility ubidump hujianyang
2014-07-07  7:17 ` [PATCH 1/7] UBI: Add a new ioctl to support ubidump hujianyang
2014-07-16  7:59   ` Artem Bityutskiy
2014-07-16  8:47     ` hujianyang
2014-07-16 10:30       ` Artem Bityutskiy
2014-07-07  7:19 ` [PATCH 2/7] Add new ioctl in userspace hujianyang
2014-07-07  7:20 ` [PATCH 3/7] Add ubifs-media.h hujianyang
2014-07-07  7:22 ` [PATCH 4/7] Add libubifs.h hujianyang
2014-07-07  7:24 ` [PATCH 5/7] Add libubifs.c hujianyang
2014-07-07  7:26 ` [PATCH 6/7] New utility ubidump hujianyang
2014-07-16  8:05   ` Artem Bityutskiy
2014-07-16  8:53     ` hujianyang
2014-07-16 10:37       ` Artem Bityutskiy
2014-07-16 11:27         ` hujianyang
2014-07-16 11:37           ` Artem Bityutskiy
2014-07-16 11:43           ` Artem Bityutskiy
2014-07-16 11:57             ` hujianyang
2014-07-21 16:20           ` Bill Pringlemeir
2014-07-22  8:15             ` hujianyang
2014-07-22 15:42               ` Bill Pringlemeir [this message]
2014-07-29  9:14               ` Artem Bityutskiy
2014-07-29 10:01                 ` hujianyang
2014-07-07  7:27 ` [PATCH 7/7] Compile support hujianyang

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=87bnshl7r8.fsf@nbsps.com \
    --to=bpringlemeir@nbsps.com \
    --cc=dedekind1@gmail.com \
    --cc=hujianyang@huawei.com \
    --cc=linux-mtd@lists.infradead.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 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.