UBIFS LEB properties tree with odd addresses

Richard Weinberger richard at nod.at
Thu Oct 27 05:51:55 PDT 2016


Naga Sureshkumar Relli,

On 26.10.2016 14:11, Naga Sureshkumar Relli wrote:
> Hi Richard,
> 
> -----Original Message-----
> From: Richard Weinberger [mailto:richard at nod.at] 
> Sent: Wednesday, October 26, 2016 2:44 AM
> To: Naga Sureshkumar Relli <nagasure at xilinx.com>; Christoph Hellwig <hch at infradead.org>
> Cc: dwmw2 at infradead.org; computersforpeace at gmail.com; dedekind1 at gmail.com; adrian.hunter at intel.com; michal.simek at xilinx.com; Punnaiah Choudary Kalluri <punnaia at xilinx.com>; linux-mtd at lists.infradead.org; linux-kernel at vger.kernel.org; Boris Brezillon <boris.brezillon at free-electrons.com>
> 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

Hm, these values depend only on basic MTD prperties AFAICT.

> 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

How does UBI report them?
Maybe you miss some bit and set incorrect MTD properties.

A 128MiB MTD with 128KiB erase size is nothing special.

Thanks,
//richard



More information about the linux-mtd mailing list