9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Geoff Collyer <geoff@collyer.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] kfs file size limit?
Date: Tue, 22 Apr 2003 21:44:48 -0700	[thread overview]
Message-ID: <58ad5d4425f25610bb47189abe11a438@collyer.net> (raw)
In-Reply-To: <edc4b51a7fb5e5e02b9861b5eca76a8a@granite.cias.osakafu-u.ac.jp>

The short answer: yes, if you are using a block size of 1024 bytes.
The fix: don't do that, use a bigger block size.

The long answer, which I may have sent to the list before:
---
the maximum size of a single file in a kfs (or plan 9 file server)
file system is determined by the file system block size (there are single
and double indirect blocks but no triples).
the maximum size is approximately (blocksize/512)⁳*8 megabytes or, more
accurately, (6+x+x⁲)*d bytes, where d=blocksize-8 and x=d/4:

blksize	max. file size in MB	in bytes
512	7.69			8068032
1024	62.76			65812416
1536	213.20			223564736
2048	507.02			531656640
2560	992.22			1040419776
3072	1716.79			1800185792
3584	2728.73			2861286336
4096	4076.05			4274053056
4608	5806.74			6088817600
5120	7968.81			8355911616
5632	10610.26		11125666752
6144	13779.08		14448414656
6656	17523.27		18374486976
7168	21890.84		22954215360
7680	26929.78		28237931456
8192	32688.10		34275966912
8704	39213.80		41118653376
9216	46554.87		48816322496

In addition, at the time of writing (April 1999), the file server and kfs
use 32-bit integers internally to hold file sizes and offsets
and some of those integers are signed, so the practical limit on
the size of a single file is 2⁳ⁱ - 1 bytes (roughly 2GB).
---



  reply	other threads:[~2003-04-23  4:44 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-23  3:29 okamoto
2003-04-23  4:44 ` Geoff Collyer [this message]
2003-04-23  5:28   ` okamoto
2003-04-23  6:11     ` Geoff Collyer
2003-04-23  6:15     ` Geoff Collyer
2003-04-23  9:24       ` okamoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=58ad5d4425f25610bb47189abe11a438@collyer.net \
    --to=geoff@collyer.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).