public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Artem Bityutskiy <dedekind1@gmail.com>
To: Andre Puschmann <andre.puschmann@stud.tu-ilmenau.de>
Cc: linux-mtd@lists.infradead.org
Subject: Re: UBIFS on Atmel Dataflash
Date: Wed, 09 Dec 2009 10:53:06 +0200	[thread overview]
Message-ID: <1260348786.19669.1231.camel@localhost> (raw)
In-Reply-To: <hfnn6u$ah1$1@ger.gmane.org>

On Wed, 2009-12-09 at 09:30 +0100, Andre Puschmann wrote:
> Hi guys,
> 
> this is my very first try to get UBIFS working. My target is an Atmel
> AT91RM9200 cpu which has a 8MB Atmel Dataflash AT45DB642x. Pagesize is
> 1056 Bytes.
> 
> I cross-compiled the ubi tools and my first try to attach was not
> successful:
> 
> $ ./ubiattach /dev/ubi_ctrl -m 6
> UBI: attaching mtd6 to ubi0
> UBI error: io_init: min. I/O unit (1056) is not power of 2

Yeah, I had a feeling we should not have assumed power of 2. But it was
so appealing, because we can avoid (slow) divisions when aligning data
to min. I/O unit boundary. I knew about DataFlash, but it is usually so
small that I did not expect anyone using UBIFS there.

Are you sure you want ubifs on such a tiny flash? We were really
targeting to larger ones, say, starting from 64MiB at least.

Basically, there is not fundamental reasons not to support non-power of
2 min. I/O unit size, besides of optimizations. And to fix this, one
would need to carefully look at / grep for min_io_size usage in both
UBI/UBIFS, and change stuff like ALIGN(x, c->min_io_size) to something
else. But there are very many of such places.

> My question is if it's possible (in general) to get a working version of
> UBIFS on this kind of flash (with no power of two pagesize)? Anybody
> ever tried this?

It is possible, but needs some work, which should not be too difficult.
I never heard anyone trying, though.

> I also tried ubiformat which raises a segfault:
> 
> $ ./ubiformat /dev/mtd6
> ubiformat: warning!: your MTD system is old and it is impossible to
> detect sub-page size. Use -s to get rid of this warning
> ubiformat: assume sub-page to be 1056
> ubiformat: mtd6 (dataflash), size 4815360 bytes (4.6 MiB), 4560
> eraseblocks of 1056 bytes (1.0 KiB), min. I/O size 1056 bytes
> libscan: scanning eraseblock 4559 -- 100 % complete
> ubiformat: 4554 eraseblocks are supposedly empty
> ubiformat: warning!: 6 of 4560 eraseblocks contain non-ubifs data
> ubiformat: continue? (yes/no)  yes
> ubiformat: warning!: only 0 of 4560 eraseblocks have valid erase counter
> ubiformat: erase counter 0 will be used for all eraseblocks
> ubiformat: note, arbitrary erase counter value may be specified using -e
> option
> ubiformat: continue? (yes/no)  yes
> ubiformat: use erase counter 0 for all eraseblocks
> ubiformat: formatting eraseblock 4559 -- 100 % complete
> Segmentation fault
> 
> Any comments on this are highly appreciated.

Yeah, I need to make ubiformat nicely return error instead of dying.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

  reply	other threads:[~2009-12-09  8:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-09  8:30 UBIFS on Atmel Dataflash Andre Puschmann
2009-12-09  8:53 ` Artem Bityutskiy [this message]
2009-12-09  9:55   ` Andre Puschmann
2009-12-09  9:57     ` Artem Bityutskiy
2009-12-09 14:33   ` Artem Bityutskiy

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=1260348786.19669.1231.camel@localhost \
    --to=dedekind1@gmail.com \
    --cc=andre.puschmann@stud.tu-ilmenau.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox