From: Artem Bityutskiy <dedekind1@gmail.com>
To: Mark Jackson <mpfj-list@newflow.co.uk>
Cc: "linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: MTD : cannot reserve enough PEBs for bad PEB handling
Date: Wed, 15 May 2013 10:55:36 +0300 [thread overview]
Message-ID: <1368604536.13665.25.camel@sauron.fi.intel.com> (raw)
In-Reply-To: <51750526.70508@newflow.co.uk>
On Mon, 2013-04-22 at 10:38 +0100, Mark Jackson wrote:
> I'm trying to work out how to generate a "valid" UBI image, but I keep
> getting a "cannot get enough PEBs" warning.
>
> I generate my image (destined for a 64MB NAND partition) using:-
>
> $ mkfs.ubifs -d output/target -e 0x1f000 -c 483 -m 0x800 -x none -F -o
> output/images/rootfs.ubifs
> $ ubinize -o output/images/rootfs.ubi -m 0x800 -p 0x20000 -s 512 -O 2048
> ubinize.cfg
>
> My .cfg file is:-
>
> [ubifs]
> mode=ubi
> vol_id=0
> vol_type=dynamic
> vol_name=rootfs
> vol_alignment=1
> vol_flags=autoresize
> vol_size=61MiB
> image=output/images/rootfs.ubifs
>
> And the resulting image is:-
>
> -rw-rw-r-- 1 mpfj mpfj 9437184 Apr 16 10:19 rootfs.ubi
>
> This is then written to a freshly erased 64MB NAND partition, and
> appears to mount correctly, apart from the warning about not enough
> reserved PEBs, as follows:-
>
> ...
> [ 0.792456] UBI: attaching mtd7 to ubi0
> [ 1.540858] UBI: scanning is finished
> [ 1.557578] UBI warning: print_rsvd_warning: cannot reserve enough
> PEBs for bad PEB handling, reserved 4, need 40
> [ 1.561346] UBI: attached mtd7 (name "rootfs", size 64 MiB) to ubi0
> [ 1.561404] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
> [ 1.561434] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512
> [ 1.561464] UBI: VID header offset: 2048 (aligned 2048), data offset:
> 4096
> [ 1.561493] UBI: good PEBs: 512, bad PEBs: 0, corrupted PEBs: 0
> [ 1.561520] UBI: user volume: 1, internal volumes: 1, max. volumes
> count: 128
> [ 1.561554] UBI: max/mean erase counter: 2/1, WL threshold: 4096,
> image sequence number: 1434266085
> [ 1.561591] UBI: available PEBs: 0, total reserved PEBs: 512, PEBs
> reserved for bad PEB handling: 4
> [ 1.562374] UBI: background thread "ubi_bgt0d" started, PID 598
> ...
>
> I think I've calculated the various option values correctly for
> mkfs.ubifs and ubinize.
>
> But since I'm getting the warning, can anyone explain where I've gone
> wrong ?
This is because UBI is trying to reserve 40 PEBs for bad block handling.
Why so much? See the explanations here:
http://www.linux-mtd.infradead.org/doc/ubi.html#L_max_beb
You may adjust this value, but the default for UBI is the most
pessimistic scenario.
--
Best Regards,
Artem Bityutskiy
prev parent reply other threads:[~2013-05-15 7:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-22 9:38 MTD : cannot reserve enough PEBs for bad PEB handling Mark Jackson
2013-04-22 9:41 ` Mark Jackson
2013-04-23 8:31 ` MTD : cannot reserve enough PEBs for bad PEB handling [SOLVED] Mark Jackson
2013-05-15 7:55 ` Artem Bityutskiy [this message]
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=1368604536.13665.25.camel@sauron.fi.intel.com \
--to=dedekind1@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=mpfj-list@newflow.co.uk \
/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;
as well as URLs for NNTP newsgroup(s).