Re: ramfs problem... (unlink of sparse file in "D" state)

Andreas Dilger (adilger@turbolinux.com)
Mon, 8 Jan 2001 13:38:39 -0700 (MST)


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 majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/