Try writing something in the ndk (or a command line executable if you
have the toolchain wrapper scripts) explicitly using 64 bit file io.

And compile and test it against a fat32 volume on a normal linux box
first.

Hedge 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)
>
>
> On Mar 9, 2:24 pm, Hedge <[email protected]> wrote:
> > I found this bit of info about a 2GB limit in Linux kernels before
> > v2.4.0 (http://linuxmafia.com/faq/VALinux-kb/2gb-filesize-
> > limit.html).  But Android appears to be using v2.6 (http://
> > en.wikipedia.org/wiki/Android_%28operating_system
> > %29#Open_Handset_Alliance).
> >
> > On Mar 9, 1:37 pm, Deva R <[email protected]> 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 <[email protected]> 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 <[email protected]> 
> > > > 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 <[email protected]> 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: 
> > > >> [email protected]<android-porting%[email protected]>
> > > >> website:http://groups.google.com/group/android-porting
> >
> > > >  --
> > > > unsubscribe: 
> > > > [email protected]<android-porting%[email protected]>
> > > > website:http://groups.google.com/group/android-porting
> >
> >

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to