Re: [UPDATE][13/24]ext3 enlarge file size

From: Andreas Dilger
Date: Tue May 30 2006 - 15:16:14 EST


On May 30, 2006 21:25 +0900, sho@xxxxxxxxxxxxxx wrote:
> > > /* This constant is calculated to be the largest file size for a
> > > * dense, 4k-blocksize file such that the total number of
> > > * sectors in the file, including data and all indirect blocks,
> > > * does not exceed 2^32. */
> > > + if (sizeof(blkcnt_t) < sizeof(u64)) {
> > > + upper_limit = 0x1ff7fffd000LL;
> > > + }
> > > + /* With CONFIG_LSF on, file size is limited to blocksize*(4G-1) */
> > > + else {
> > > + upper_limit = (1LL << (bits + 32)) - (1LL << bits);
> > > + }
> >
> > This doesn't take into account that there will be some number of extra
> > blocks on the file for {dt}indirect blocks. There was some discussion
> > among ext3 developers to use another field in the inode to allow the
> > i_blocks count to grow up to 2^48 bits in conjunction with this
> > patch, which will remove any worry about additional metadata blocks
> > and also allow future growth without yet another COMPAT flag.
>
> I'm considering using l_i_frag and l_i_fsize as the high bits of
> i_blocks for 48-bits, besides i_blocks in fs blocksize. Is there any
> comment?

Ted or Stephen, would you care to comment? These are the same fields
used by the earlier patch "Pushing ext3 file size limits beyond 2TB"
by Goldwyn Rodrigues <Goldwynr@xxxxxxxxxxxxxxxxx>. Having this under
the same RO_COMPAT_HUGE_FILE makes a lot of sense.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/