Re: [PATCH] mtd: fix size in mtd_info_user to support 64-bit

From: Rob Landley
Date: Fri Jul 16 2021 - 09:17:12 EST


On 7/16/21 4:48 AM, Miquel Raynal wrote:
> Hi Miaohe,
>
> Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote on Fri, 16 Jul 2021 09:42:19
> +0800:
>
>> On 2021/7/16 7:02, Miquel Raynal wrote:
>> > Hi Miaohe,
>> >
>> > Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote on Thu, 8 Jul 2021 21:13:59
>> > +0800:
>> >
>> >> From: Feilong Lin <linfeilong@xxxxxxxxxx>
>> >>
>> >> The size in struct mtd_info_user is 32-bit, which will cause errors
>> >> when obtaining the size of large-capacity MTD devices, such as TLC
>> >> NAND FLASH-2048Gb.
>> >
>> > Besides the fact that such devices are far from being supported by the
>> > Linux kernel, this change would basically break userspace, it cannot
>> > enter as-is...
>> >
>>
>> I see. Many thanks for your reply! We're working with these large-capacity
>> MTD devices now, any suggestion to work around this?
>
> The only way is to create a second UAPI.

Twelve years ago a patch was submitted to add a 64 bit MTD api:

https://lwn.net/Articles/326418/

But for some reason they only merged 64 bit erase:

https://github.com/torvalds/linux/commit/0dc54e9f33e2

But NOT the rest of the 64 bit mtd API in the same patch. I've never understood why.

Rob