Al Viro writes:
> Andreas Dilger wrote:
> > Actually, this is wrong.  The ext2 inode limit is 2^32 512-byte sectors,
> > not 2^32 blocksize blocks.  Yes this is a wart and Ted wants to fix it, as
> 
> ??? Where? Oh, wait... ->i_blocks? I'ld rather refuse to grow past 2^32 -
> sparse files can legitimately have large offsets and very low ->i_blocks.
> But yes, we need to check for overflows. BTW, 2^32-1 is not good enough -
> indirect blocks also contribute, so limiting ->i_size by 2Tb is not
> guaranteed to keep ->i_blocks low.

Yes, I was thinking i_blocks, but you are correct - I wasn't accounting for
the indirect blocks.  This limit is still {2,4,8,16} times smaller than the
limit you were calculating for i_size.  If we do the i_blocks limit checking
at block allocation time (for large sparse files) this is even better, but
so far it wasn't done...

Cheers, Andreas
-- 
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to