mtd partitions limited to 4 GB?

Bruce_Leonard at selinc.com Bruce_Leonard at selinc.com
Wed Jun 18 13:04:20 EDT 2008


> > In drivers/mtd/mtdpart.c, struct mtd_part has  "u_int32_t offset", 
thus
> > (apparently) limiting the partition start offset to 4 GiB.  Similarly,
> > struct mtd_partition in include/linux/mtd/partititions.h has 
"u_int32_t
> > size" and "u_int32_offset".
> 
> As Josh says it is not just an mtd_part issue, but the whole guts of mtd 

> suffer from this. The actual mtd_xxx interface to the kernel is close 
enough 
> for most purposes.
> 

<snip>

> It is more than just changing the 32 to 64 bit types.
> 

It is indeed more than just a type change, as I'm discovering :\.  I'm 
currently working on a change that will allow greater than 2GiB size, but 
since my project isn't going to have any partitions in it, I wasn't aware 
of any limitations there.  As I go through my work I'll try and keep it in 
mind, but I'm mired in the NAND layer and make no promises.  I'm trying to 
do this in small increments rather than a wholesale change that introduces 
numerous bugs :).

Bruce



More information about the linux-mtd mailing list