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@xxxxxxxxxx> > > -- > > Linux-cluster@xxxxxxxxxx > http://www.redhat.com/mailman/listinfo/linux-cluster -- Ken Preslan <kpreslan@xxxxxxxxxx>