[OpenAFS] volume and file size

Jeffrey Hutzelman jhutz@cmu.edu
Sun, 13 Jun 2004 23:10:07 -0400

On Sunday, June 13, 2004 16:33:14 -0700 Russ Allbery <rra@stanford.edu> 

> Dj Merrill <deej@thayer.dartmouth.edu> writes:
>> I am curious if anyone can confirm the largest volume and file size that
>> is "officially" supported by the current stable release of OpenAFS
>> (1.2.11) under a Linux kernel 2.4 ext2 or ext3 filesystem.  I seem to
>> remember (possibly incorrectly) that there is an 8 Gig volume limitation
>> and a 2 Gig file size limitation.
> There is a 2GB file size limitation for all versions of OpenAFS in the
> current stable releases.  There is no volume size limit (well, at least
> not until you get into the terabyte range, at which point you may
> encounter file size limitations on the AFS server depending on file
> system).

Close enough.

- In stable releases, files cannot be larger than 2^31-1 bytes; it is
  impossible to extend a file beyond this size or to even attempt to
  read or write beyond this point.  With new (unstable) clients _and_
  servers, files may be larger, depending on the underlying operating
  systems on both client and server.

- Directories are limited to 1023 pages of 2048 bytes, or about 2MB.
  This corresponds to a limit of around 31000 files when filenames
  are 16-47 characters long; more if they are shorter, less if longer.
  This limit has applied for some time; back in the depths of IBM AFS
  history, it used to be 128 pages, but I don't recall offhand when it
  changed.  Because increasing this limit would require a change to the
  on-disk directory format, it is not expected to be raised soon.

- The size of vice partitions is theoretically limited only by the
  limitations of the underlying filesystem.

- The size of volumes is a complicated question.  No volume may have a
  quota larger than 2^31-1 blocks, with each block representing 1K of
  storage (for the math-impaired, that's 2TB).  However, volumes may
  have infinite quota, in which case any amount of storage may be used.
  Some other information about disk usage is also stored in 32-bit
  fields, so information about the amount of storage used by a volume
  may take on nonsensical volumes once more than 2^31-1 blocks are used,
  if the fileserver lets you do that at all.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
   Sr. Research Systems Programmer
   School of Computer Science - Research Computing Facility
   Carnegie Mellon University - Pittsburgh, PA