Thread (207 messages) flat view 207 messages, 25 authors, 2010-10-01
STALE5826d

[PATCH 28/74] Incrementing the ecc_pos array to contain 128 char

From: Vipin Kumar <hidden>
Date: 2010-09-01 11:04:36

On 9/1/2010 4:15 PM, Artem Bityutskiy wrote:
On Wed, 2010-09-01 at 09:43 +0530, Vipin Kumar wrote:
quoted
On 9/1/2010 5:06 AM, Artem Bityutskiy wrote:
quoted
Hi,

On Tue, 2010-08-31 at 12:04 +0530, Vipin Kumar wrote:
quoted
quoted
Nack, breaking ABI Is not allowed in Linux.
I could not understand your point. Can you please elaborate. How does this patch 
break ABI
You are changing data structure (struct nand_ecclayout) used for in MTD
ioctl. Tha ioctl is part of the Linux ABI. By changing the data
structure, you are breaking the ABI. This means that current binaries
would stop working with newer versions of the Linux kernel if we'd
accept your patch.
Hello,

The only change that I have made is increasing the number of bytes to keep ecc. 
Right, but this break ABI.
quoted
Since the ecc is generally kept in spare area, it makes sense to have the ecc 
locations to be equal to the maximum spare area possible.
May be.
quoted
A NAND page with a page size of 4096 would contain a spare area of 128 bytes. 
Now, ecc for the page can be less/more than 64 bytes(currently allocated for 
ecc positions) depending on the algorithm used to generate ecc. 
Incidently, in our case the ecc can fit in 104 bytes and this is still quite 
logical to place it in spare area since the linux image supports 4096 page but 
the problem is that the ecc locations supported by linux are less than the 
practically possible scenario so in effect this change is an improvement in linux
Hello David/Artem,

I got the point, but this change is essential (at least for me). It may be 
essential to others as well in near future. Please let me know how to handle more 
than 64 bytes of ecc
Yes, this is historical and a bit unfortunate, but you cannot break ABI
even if you have reasons like that
quoted
Please let me know if you disagree
Please, create an app which uses 'struct nand_ecclayout' and compile it
against the old headers. Check that it works. Then do you kernel
modification and run the same program (without re-compiling) and my
prediction is that it won't work. This is what I call ABI breaking which
is disallowed.
Regards
Vipin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help