[PATCH/RFC] Linux MTD striping middle layer

Artem B. Bityutskiy dedekind at infradead.org
Wed Mar 22 09:47:57 EST 2006


On Wed, 2006-03-22 at 17:40 +0300, Alexander Belyakov wrote:
> In MTD code I saw alignment checks looking like this:
> 
> if (instr->addr & (concat->mtd.erasesize - 1))
>     return -EINVAL;
> It will fail if erasesize is not power-of-two number.
So, we should prohibit 3-flash striping just to please this piece of
code?

> Anyway interleaving algorithm itself makes no assumptions about number 
> of subdevices. So code in the patch can be used to stripe 3, 5, etc 
> devices. Just remove or replace alignment checks from stripe_erase() 
> routine. It should work.
Ok, then don't write in documentation that it is possible to stripe only
2,4,8... flashes as this restriction is insane. Or write there, that if
you have a broken application, don't do 3-flash striping.

You support really exotic things like striping flashes with different
eraseblock size which I fear nobody will ever use, but you prohibit
3-chip striping which is much more useful.

-- 
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.





More information about the linux-mtd mailing list