Ext4 and large (>8TB) files
Andreas Dilger
adilger at dilger.ca
Sat Mar 27 04:04:32 UTC 2010
On 2010-03-26, at 19:32, Arun Nair wrote:
> Ok, so I guess ext4 with 64-bit, or another filesystem for us.
> Thanks Andreas & Eric for all the help.
No, I don't think another filesystem will help, on a 32-bit host. The
limit that ext4 is reporting is the VM page cache limit for a single
file, and has nothing to do with ext4 itself.
> On Fri, Mar 26, 2010 at 3:38 PM, Andreas Dilger <adilger at dilger.ca>
> wrote:
> On 2010-03-26, at 16:05, Arun Nair wrote:
> So I'm guessing switching the system to 64-bit would fix this for
> us. How about increasing the block size from the current 4k? Would
> that be an option too?
>
> Not in the near future, unless you are running on PPC/ARM/SPARC that
> can also handle large pages.
>
> On Fri, Mar 26, 2010 at 2:10 PM, Eric Sandeen <sandeen at redhat.com>
> wrote:
> On 03/26/2010 03:50 PM, Arun Nair wrote:
> > Eric,
> >
> > Thanks for the quick reply... see my responses inline...
> >
> > On Fri, Mar 26, 2010 at 12:16 PM, Eric Sandeen <sandeen at redhat.com
> > <mailto:sandeen at redhat.com>> wrote:
> >
> > On 03/26/2010 01:52 PM, Arun Nair wrote:
> > > Hi -
> > >
> > > (I apologize for the ext4 question in an ext3 mailer, but I
> couldn't
> > > find a user list for ext4.)
> >
> > linux-ext4 at vger.kernel.org <mailto:linux-
> ext4 at vger.kernel.org> :)
> > but that's ok.
> >
> >
> > Saw that but thought it was a dev-only list, sorry. Next time :)
>
> *shrug* I think user questions are welcome too. At least I don't
> mind.
>
> ...
>
> > dd fails as mentioned above. xfs_io errors too:
> > [root at camanoe]# xfs_io -F -f -c "pwrite 8T 1M" bigfile2
> > pwrite64: File too large
>
> Oh. Well, then! Must be something else.
>
> oh, ok:
>
> sbi->s_bitmap_maxbytes = ext4_max_bitmap_size();
>
> static loff_t ext4_max_size(int blkbits, int has_huge_files)
> {
> loff_t res;
> loff_t upper_limit = MAX_LFS_FILESIZE;
>
> <snip>
>
> /* Sanity check against vm- & vfs- imposed limits */
> if (res > upper_limit)
> res = upper_limit;
>
> return res;
> }
>
> and:
>
> /* Page cache limit. The filesystems should put that into their
> s_maxbytes
> limits, otherwise bad things can happen in VM. */
> #if BITS_PER_LONG==32
> #define MAX_LFS_FILESIZE (((u64)PAGE_CACHE_SIZE <<
> (BITS_PER_LONG-1))-1)
>
> so it's only giving us 31 bits of pages, not 32. This limits it to 8T
> on a 32-bit machine with 4k pages.
>
> I'm not honestly sure if there is anything in the vm that can't
> actually
> cope with a 32-bit offset... but until proven otherwise, probably not
> going to change this without a lot of testing & inspection.
>
> -Eric
>
> _______________________________________________
> Ext3-users mailing list
> Ext3-users at redhat.com
> https://www.redhat.com/mailman/listinfo/ext3-users
>
>
> Cheers, Andreas
>
>
>
>
>
>
Cheers, Andreas
More information about the Ext3-users
mailing list