I believe the maximum file size on FAT32 is 4GB (2^32 - 1). The
maximum size I can access on Android is actually 2GB (2^31 - 1), which
makes me think the addressing is performed with a signed integer
instead of unsigned.
Does anyone know how to access files that are larger than 2GB? Was
this fixed in a later version of Android? Can I change the type of
some kernel variable to an unsigned int to unlock the extra addressing
space?
--
unsubscribe: android-porti...@googlegroups.com
website: http://groups.google.com/group/android-porting
On Mar 9, 1:37 pm, Deva R <r.deva...@gmail.com> wrote:
> >>The underlying file i/o c library calls are likely to be the common 32 bit
>
> signed versions unless someone specifically chose the 64 bit versions.
> nope.. may be you meant FAT16. fat32 max file size is 232-1 bytes (~4GB).
>
> it looks odd why access beyond 2G should fail. As chris said below, there
> might be a break in i/o lib.
>
> On Wed, Mar 10, 2010 at 2:52 AM, hedwin <hedwin.kon...@gmail.com> wrote:
> > FAT32 itself is limited to 2GB. If you need to handle files larger than 2GB
> > you either need to use NTFS or ext3 or higher.
>
> > On Tue, Mar 9, 2010 at 4:12 AM, Chris Stratton <cs07...@gmail.com> wrote:
>
> >> The underlying file i/o c library calls are likely to be the common 32
> >> bit signed versions unless someone specifically chose the 64 bit
> >> versions.
>
> >> On Mar 8, 1:13 pm, Hedge <awoo...@gmail.com> wrote:
> >> > I am trying to play back 3GB videos from an SDHC card in OpenCORE
> >> > v2.05 in Cupcake. The player crashes every time. ADB shell reports the
> >> > file size to be a negative number (overflow).
>
> >> > I believe the maximum file size on FAT32 is 4GB (2^32 - 1). The
> >> > maximum size I can access on Android is actually 2GB (2^31 - 1), which
> >> > makes me think the addressing is performed with a signed integer
> >> > instead of unsigned.
>
> >> > Does anyone know how to access files that are larger than 2GB? Was
> >> > this fixed in a later version of Android? Can I change the type of
> >> > some kernel variable to an unsigned int to unlock the extra addressing
> >> > space?
>
> >> --
> >> unsubscribe: android-porti...@googlegroups.com<android-porting%2Bunsu...@googlegroups.com>
> >> website:http://groups.google.com/group/android-porting
>
> > --
> > unsubscribe: android-porti...@googlegroups.com<android-porting%2Bunsu...@googlegroups.com>
> > website:http://groups.google.com/group/android-porting
>
>
A few more things:
* FAT32 is not limited to 2GB: http://en.wikipedia.org/wiki/File_Allocation_Table#FAT32
(The maximum possible size for a file on a FAT32 volume is 4 GB minus
1 byte)
* I did try formatting an SDHC card as NTFS but unfortunately the
Android device would not recognize it. Also, ext3 wouldn't work on
most Windows users' machines without downloading additional programs.
* I'm surprised this issue hasn't caused more of a stir before. I only
found one other mention of it (http://groups.google.com/group/android-
platform/browse_thread/thread/7c375594e5cc5427/2f397fe2eb829bae?
lnk=gst&q=file+size+limit#2f397fe2eb829bae)
As far as the FAT32 2GB limits, I see _FILE_OFFSET_BITS == 64 in some
files (http://www.gnu.org/software/libc/manual/html_node/Opening-
Streams.html#index-fopen64-931). I wrote test programs for low-level
file access in Java and C and I can open large files there. However,
seeks fail beyond the 2GB limit, probably because the offset variable
(off_t) is a 4-byte long.
Has anyone heard if this will be fixed in Android 3.0?
On Mar 9, 5:07 pm, hedwin <hedwin.kon...@gmail.com> wrote:
> Did you configure NTFS in your kernel?. Think it is disabled per default
> (only checked android-x86).
>
> On Tue, Mar 9, 2010 at 11:31 PM, Hedge <awoo...@gmail.com> wrote:
> > Thanks everyone for your help so far.
>
> > A few more things:
> > * FAT32 is not limited to 2GB:
> >http://en.wikipedia.org/wiki/File_Allocation_Table#FAT32
> > (The maximum possible size for a file on a FAT32 volume is 4 GB minus
> > 1 byte)
> > * I did try formatting an SDHC card as NTFS but unfortunately the
> > Android device would not recognize it. Also, ext3 wouldn't work on
> > most Windows users' machines without downloading additional programs.
> > * I'm surprised this issue hasn't caused more of a stir before. I only
> > found one other mention of it (http://groups.google.com/group/android-
> > platform/browse_thread/thread/7c375594e5cc5427/2f397fe2eb829bae?
> > lnk=gst&q=file+size+limit#2f397fe2eb829bae<http://groups.google.com/group/android-%0Aplatform/browse_thread/thre...>
> > <android-porting%2Bunsu...@googlegroups.com<android-porting%252Buns...@googlegroups.com>
>
> > > > >> website:http://groups.google.com/group/android-porting
>
> > > > > --
> > > > > unsubscribe: android-porti...@googlegroups.com<android-porting%2Bunsu...@googlegroups.com>
> > <android-porting%2Bunsu...@googlegroups.com<android-porting%252Buns...@googlegroups.com>
And compile and test it against a fat32 volume on a normal linux box
first.
Has anyone heard if this will be fixed in Android 3.0?
On Mar 13, 6:48 pm, Dianne Hackborn <hack...@android.com> wrote:
> On Fri, Mar 12, 2010 at 4:50 PM, Hedge <awoo...@gmail.com> wrote:
> > Has anyone heard if this will be fixed in Android 3.0?
>
> I haven't even heard of Android 3.0.
>
> --
> Dianne Hackborn
> Android framework engineer