All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mikael Magnusson <mikachu@gmail.com>
To: david@fromorbit.com
Cc: akpm@linux-foundation.org, amir73il@gmail.com,
	chris@chrisdown.name, hannes@cmpxchg.org, hughd@google.com,
	jlayton@kernel.org, kernel-team@fb.com,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, tj@kernel.org, viro@zeniv.linux.org
Subject: Re: [PATCH v5 2/2] tmpfs: Support 64-bit inums per-sb
Date: Wed,  8 Jan 2020 15:37:52 +0100	[thread overview]
Message-ID: <20200108143752.9475-1-mikachu@gmail.com> (raw)
In-Reply-To: <20200107001039.GM23195@dread.disaster.area>

Dave Chinner writes:
> On Sun, Jan 05, 2020 at 12:06:05PM +0000, Chris Down wrote:
> > The default is still set to inode32 for backwards compatibility, but
> > system administrators can opt in to the new 64-bit inode numbers by
> > either:
> > 
> > 1. Passing inode64 on the command line when mounting, or
> > 2. Configuring the kernel with CONFIG_TMPFS_INODE64=y
> > 
> > The inode64 and inode32 names are used based on existing precedent from
> > XFS.
> 
> Please don't copy this misfeature of XFS.
> 
> The inode32/inode64 XFS options were a horrible hack made more than
> 20 years ago when NFSv2 was still in use and 64 bit inodes could
> not be used for NFSv2 exports. It was then continued to be used
> because 32bit NFSv3 clients were unable to handle 64 bit inodes.
> 
> It took 15 years for us to be able to essentially deprecate
> inode32 (inode64 is the default behaviour), and we were very happy
> to get that albatross off our necks.  In reality, almost everything
> out there in the world handles 64 bit inodes correctly
> including 32 bit machines and 32bit binaries on 64 bit machines.
> And, IMNSHO, there no excuse these days for 32 bit binaries that
> don't using the *64() syscall variants directly and hence support
> 64 bit inodes correctlyi out of the box on all platforms.
> 
> I don't think we should be repeating past mistakes by trying to
> cater for broken 32 bit applications on 64 bit machines in this day
> and age.

Hi,

It's unfortunately not true that everything handles this correctly.
32-bit binaries for games on Steam that use stat() without the 64 is
so prevalent that I got tired of adding the LD_PRELOAD wrapper script
and just patched out the EOVERFLOW return from glibc instead. (They
obviously don't care about the inode value at all, and I don't use any
other 32-bit binaries that do). This is probably a class of binaries
you don't care very much about, and not very likely to be installed on
a tmpfs that has wrapped around, but I thought it was worth mentioning
that they do exist anyway.

-- 
Mikael Magnusson

  parent reply	other threads:[~2020-01-08 14:38 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-05 12:05 [PATCH v5 0/2] fs: inode: shmem: Reduce risk of inum overflow Chris Down
2020-01-05 12:06 ` [PATCH v5 1/2] tmpfs: Add per-superblock i_ino support Chris Down
2020-01-06  2:03   ` zhengbin (A)
2020-01-06  6:41     ` Amir Goldstein
2020-01-06  6:41       ` Amir Goldstein
2020-01-07  8:01       ` Hugh Dickins
2020-01-07  8:01         ` Hugh Dickins
2020-01-07  8:35         ` Amir Goldstein
2020-01-07  8:35           ` Amir Goldstein
2020-01-08 10:58           ` Hugh Dickins
2020-01-08 10:58             ` Hugh Dickins
2020-01-08 12:51             ` Amir Goldstein
2020-01-08 12:51               ` Amir Goldstein
2020-01-06 13:17     ` Chris Down
2020-01-05 12:06 ` [PATCH v5 2/2] tmpfs: Support 64-bit inums per-sb Chris Down
2020-01-07  0:10   ` Dave Chinner
2020-01-07  0:16     ` Chris Down
2020-01-07  0:39       ` Dave Chinner
2020-01-07  6:54         ` Amir Goldstein
2020-01-07  6:54           ` Amir Goldstein
2020-01-07  8:36           ` Hugh Dickins
2020-01-07  8:36             ` Hugh Dickins
2020-01-07 10:12             ` Amir Goldstein
2020-01-07 10:12               ` Amir Goldstein
2020-01-07 21:07               ` Dave Chinner
2020-01-07 21:37                 ` Chris Mason
2020-01-08 11:24                   ` Hugh Dickins
2020-01-08 11:24                     ` Hugh Dickins
2020-01-09  0:43                     ` Jeff Layton
2020-01-10 16:45                     ` Chris Down
2020-01-13  7:36                       ` Hugh Dickins
2020-01-13  7:36                         ` Hugh Dickins
2020-01-20 15:11                         ` Chris Down
2020-02-25 23:14                           ` Hugh Dickins
2020-02-25 23:14                             ` Hugh Dickins
2020-01-07 20:59             ` Dave Chinner
2020-01-08 14:37     ` Mikael Magnusson [this message]
2020-01-13  6:58       ` Hugh Dickins
2020-01-13  6:58         ` Hugh Dickins

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=20200108143752.9475-1-mikachu@gmail.com \
    --to=mikachu@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=amir73il@gmail.com \
    --cc=chris@chrisdown.name \
    --cc=david@fromorbit.com \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=jlayton@kernel.org \
    --cc=kernel-team@fb.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=tj@kernel.org \
    --cc=viro@zeniv.linux.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.