[Linux-cluster] GFS limits: fs size, etc.
kpreslan at redhat.com
Fri Sep 10 18:05:03 UTC 2004
On Fri, Sep 10, 2004 at 09:52:15AM -0400, Ed L Cashin wrote:
> Hi. I'm trying to list all of the GFS limits that I can find. The
> one I'm most interested in is max filesystem size. Here are the ones
> I've found so far.
> Is the theoretical limit on filesystem size 2^64 bytes or is there a
> practical constraint? I couldn't find that.
> filesystem size:
For Linux 2.4, the max file system is 2TB is you trust the sign bit,
1TB if you don't. This limit comes from a 32-bit sector address in the
"struct buffer_head": 2^32 * 512 bytes/sector = 2TB.
For Linux 2.6 on a 32-bit platform, the max filesystem size is 16TB if
you trust the sign bit, 8TB if you don't. This limit comes from the
32-bit page index in the "struct page": 2^32 * 4096 bytes/page = 16TB.
For Linux 2.6 on a 64-bit platform, the max filesystem size is *big*.
Something around 2^64 bytes.
> file size: gfs_dinode has u64 di_size member, so
> 16777216 TB is theoretical max file size
That's correct on 64-bit filesystems.
On a 32-bit system, you're limited by the 32-bit page index again. The
biggest regular file you can have is 16TB/8TB. Journaled files don't
go through the generic Linux file code, so they can go up to 2^64 bytes.
(Assuming the file is hole-y -- a 32-bit platform can't support a
filesystem big enough to hold all the data.)
> block size:
> gfs_mkfs manpage says min block size 512 bytes, max block size is
> the page size for the host
> Also, according to a comment at the top of gfs_ondisk.h, the
> de_rec_len member of gfs_dirent limits the FS block size to 64KB.
> jounal size:
> gfs_mkfs manpage says min is 32MB
> extended attributes:
> max name length: 255 bytes
> max data length: 65535 bytes
> Ed L Cashin <ecashin at coraid.com>
> Linux-cluster mailing list
> Linux-cluster at redhat.com
Ken Preslan <kpreslan at redhat.com>
More information about the Linux-cluster