public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@zip.com.au>
To: "Peter J. Braam" <braam@clusterfs.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: BIG files & file systems
Date: Thu, 01 Aug 2002 13:33:44 -0700	[thread overview]
Message-ID: <3D499B28.242D07B8@zip.com.au> (raw)
In-Reply-To: 20020731131620.M15238@lustre.cfs

"Peter J. Braam" wrote:
> 
> Hi,
> 
> I've just been told that some "limitations" of the following kind will
> remain:
>   page index = unsigned long
>   ino_t      = unsigned long
> 
> Lustre has definitely been asked to support much larger files than
> 16TB.  Also file systems with a trillion files have been requested by
> one of our supporters (you don't want to know who, besides I've no
> idea how many bits go in a trillion, but it's more than 32).
> 
> I understand why people don't want to sprinkle the kernel with u64's,
> and arguably we can wait a year or two and use 64 bit architectures,
> so I'm probably not going to kick up a fuss about it.
> 
> However, I thought I'd let you know that there are organizations that
> _really_ want to have such big files and file systems and get quite
> dismayed about "small integers".  And we will fail to deliver on a
> requirement to write a 50TB file because of this.

I don't know about the ino_t thing, but as far as the pagecache
indices goes it's simply a matter of

- s/unsigned long/pgoff_t/ in a zillion places
- modify the radix tree code a bit
- implement CONFIG_LL_PAGECACHE_INDEX
- make it all work
- convince Linus

Linus's objections are threefold:  it expands struct page, 64 bit
arith is slow and gcc tends to get it wrong.  And I would add "most
developers won't test 64-bit pgoff_t, and it'll get broken regularly".

The expansion of struct page and the performance impact is just a
cost which you'll have to balance against the benefits.  For a few
people, 32-bit pagecache index is a showstopper and they'll accept that
tradeoff.

Sprinkling `pgoff_t' everywhere is, IMO, not a bad thing - it aids code
readability because it tells you what the variable is used for.

As for broken gcc, well, the proponents of 64-bit pgoff_t would have
to work to identify the correct gcc version and generally get gcc
doing the right thing.

      parent reply	other threads:[~2002-08-01 20:32 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-31 19:16 BIG files & file systems Peter J. Braam
2002-07-31 19:26 ` Christoph Hellwig
2002-07-31 20:04   ` Matti Aarnio
2002-07-31 20:12     ` Christoph Hellwig
2002-08-02 17:26     ` Albert D. Cahalan
2002-08-02 22:14       ` Randy.Dunlap
2002-08-03  3:26         ` Albert D. Cahalan
2002-08-06  5:19           ` Andreas Dilger
2002-08-06  7:24             ` Albert D. Cahalan
2002-08-06  7:52               ` Andreas Dilger
2002-08-06  9:28             ` Matti Aarnio
2002-08-05 13:04         ` Stephen Lord
2002-08-05 13:42           ` Hans Reiser
2002-08-05 13:56             ` Randy.Dunlap
2002-08-05 14:21               ` Randy.Dunlap
2002-08-05 17:31                 ` Albert D. Cahalan
2002-08-06  0:16             ` jw schultz
2002-08-06  9:48               ` Hans Reiser
2002-07-31 21:07 ` Jan Harkes
2002-07-31 21:13   ` Alexander Viro
2002-08-01  3:51     ` Jan Harkes
2002-08-01 12:01       ` Mark Mielke
2002-08-02  0:09       ` Stephen Lord
2002-08-02 12:17         ` Chris Mason
2002-08-02 12:33           ` Anton Altaparmakov
2002-08-02 13:56         ` Jan Harkes
2002-08-02 14:06           ` Steve Lord
2002-08-02 15:10             ` Hans Reiser
2002-08-02 15:39               ` Trond Myklebust
2002-08-02 17:01                 ` Hans Reiser
2002-08-02 17:25                   ` Nikita Danilov
2002-08-02 17:47                     ` Trond Myklebust
2002-08-02 18:10                       ` Nikita Danilov
2002-08-02 18:31                         ` Hans Reiser
2002-08-02 18:48                           ` Nikita Danilov
2002-08-02 18:59                             ` Hans Reiser
2002-08-01 12:01 ` David Woodhouse
2002-08-01 20:33 ` Andrew Morton [this message]

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=3D499B28.242D07B8@zip.com.au \
    --to=akpm@zip.com.au \
    --cc=braam@clusterfs.com \
    --cc=linux-kernel@vger.kernel.org \
    /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