ubi_assert(list_empty(&used)) in ubi_attach_fastmap
Richard Weinberger
richard.weinberger at gmail.com
Fri May 22 00:05:30 PDT 2015
Hi!
On Fri, May 22, 2015 at 2:31 AM, Nikhilesh Reddy <reddyn at codeaurora.org> wrote:
> Hi
>
> I am running kernel 3.10.
>
> I recently saw an issue where ubi_assert(list_empty(&used)) in
> ubi_attach_fastmap always hits on a partition.
>
> Searching this issue I found
> http://git.infradead.org/linux-ubifs.git/commitdiff/a83832a7c8d023f446ec865926190951bd18a4b1?hp=36a87e44f642966442fd0d23f2ec536851e00236
> diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
> index 600c4f9..9858bfb 100644 (file)
> --- a/drivers/mtd/ubi/fastmap.c
> +++ b/drivers/mtd/ubi/fastmap.c
> @@ -814,7 +814,9 @@ static int ubi_attach_fastmap(struct ubi_device *ubi,
> list_for_each_entry_safe(tmp_aeb, _tmp_aeb, &free, u.list)
> list_move_tail(&tmp_aeb->u.list, &ai->free);
>
> - ubi_assert(list_empty(&used));
> + list_for_each_entry_safe(tmp_aeb, _tmp_aeb, &used, u.list)
> + list_move_tail(&tmp_aeb->u.list, &ai->erase);
> +
> ubi_assert(list_empty(&eba_orphans));
> ubi_assert(list_empty(&free));
>
>
> Can you please give me a background on this patch.
> Is this safe to apply without any of patches in the list
>
> http://lwn.net/Articles/618410/
This is a tricky question but I tend to say "no".
In my last fastmap series I've fixed a *lot* of issues.
You need all fixes and they depend on each other.
My plan was to backport them to stable but as I'm horrible
backlogged this plan hasn't materialized yet. ;-(
> Can this occur when trying to attach an empty partition?
> i.e. one that doesn't contain a UBI image.
s/image/volume?
As the commit message says, it can happen in the powercut case.
I don't think this is true for your case.
So, please backport all fixes to your custom kernel first.
--
Thanks,
//richard
More information about the linux-mtd
mailing list