[PATCH 0/7] UBIFS: fix recovery on CFI NOR

Holger Brunck holger.brunck at keymile.com
Wed Feb 2 10:21:07 EST 2011

Hi Artem,

Artem Bityutskiy wrote:
> From: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
> Hi,
> here is the patch-set against the latest Linux kernel (e.g. 2.6.38-rc3)
> which should fix CFI NOR flash recovery.
> The previous attempt was not entirely successful - it broke backward
> compatibility and was reverted:
> http://marc.info/?l=linux-kernel&m=129631939419818&w=2
> This patch-set goes the following way:
> 1. Incorporates the notion of 'writebufsize' into UBI and UBIFS as
>    'max_write_size', because using term write-buffer would be confusing, as
>    UBIFS has its own write-buffers.
> 2. Changes UBIFS write-buffer and makes it of 'max_write_size', instead of
>    'min_io_size'. This presumably leads to better performance because we
>    accumulate more data and write them in larger chunks and faster.
>    And we do not waste space when synchronizing UBIFS write-buffers because we
>    write only the used amount of bytes aligned to 'min_io_size'. So this is an
>    improvement.
> 3. Tweak UBIFS recovery and make it aware of the fact that we can write in
>    chunks larger than 'min_io_size'. Namely, we can write in 'max_write_size'
>    chunks.
> Could you guys please test this WRT power cuts and let me know if it solves the
> issues?

I have tested this patches on an ppc82xx and ppc83xx boards with different NOR
flashes with different writebuffers (64 and 1024 bytes) and check wether I am
able to mount previous created UBIFS partitions and this works without any
problems. So the incompatbility seems to be solved. Additionaly I tried it on a
NAND based system and this runs also without problems.

But I am not able to check for power cut problems. We see some problems in the
combination with UBI and NOR flashes with large writebuffers (1024). But
currently we suspect some CFI driver problems see ML entry from an colleague:

Another question related to the writebuffer adaptions for UBI. What should be
done during creation of ubi images on a host system with ubinize if your patches
find their way in the "standard" UBI/UBIFS code. In the past we had "only" NOR
flashes with a writebuffer of 64 bytes and we create our ubi images without the
-m parameter during executing ubinize for the esw image. Now we got a new flash
with writebuffer = 1024. Whats the way forward in the future? Is it ok to omit
the "-m" parameter or do we have to create the images with "-m 64" or "-m 1024"?

Best regards

More information about the linux-mtd mailing list