RE: UBIFS LEB properties tree with odd addresses

From: Naga Sureshkumar Relli
Date: Wed Oct 26 2016 - 08:45:35 EST


Hi Richard,

-----Original Message-----
From: Richard Weinberger [mailto:richard@xxxxxx]
Sent: Wednesday, October 26, 2016 2:44 AM
To: Naga Sureshkumar Relli <nagasure@xxxxxxxxxx>; Christoph Hellwig <hch@xxxxxxxxxxxxx>
Cc: dwmw2@xxxxxxxxxxxxx; computersforpeace@xxxxxxxxx; dedekind1@xxxxxxxxx; adrian.hunter@xxxxxxxxx; michal.simek@xxxxxxxxxx; Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx>; linux-mtd@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
Subject: Re: UBIFS LEB properties tree with odd addresses

Naga Sureshkumar Relli,
> Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
> Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

> But these details are hidden from UBI?

Yes, Our controller driver will take care of these byte striping.

> So for temporary hack we did the following change In fs/ubifs/lpt.c In
> do_calc_lpt_geom(), added the following
> + if (c->pnode_sz % 2)
> + c->pnode_sz += 1;
> + if (c->ltab_sz % 2)
> + c->ltab_sz += 1;
>
> Please kindly suggest, I need your inputs, changing the pnode_sz and ltab_sz to even in lpt.c, will it impact on any others?

> Hmm, the calculations in lpt.c use basic properties of the MTD (number of blocks, etc...).
> Can you please double check which property causes the failure and also verify whether the MTD driver provides correct properties. i.e. page sizes, block size, number of blocks, ...

Yes, only pnode_sz and ltab_sz are odd values

And MTD info, here are my logs
In Single Flash mode:
Mtd->erasesize = 64KiB
Mtd->size = 64MiB
Mtd->numeraseregions = 0
Nor->pagesize = 256

In Dual parallel mode:
Mtd->erasesize = 128KiB
Mtd->size = 128MiB
Mtd->numeraseregions = 0
Nor->pagesize = 512

Thanks,
Naga Sureshkumar Relli