public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Nathan Scott <nathans@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: IA64 ino_t incorrectly sized?
Date: Thu, 09 Oct 2003 01:25:58 +0000	[thread overview]
Message-ID: <marc-linux-ia64-106566296013512@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-106378281914262@msgid-missing>

hi David,

On Wed, Oct 08, 2003 at 04:51:09PM -0700, David Mosberger wrote:
> 
> The mail you're referring to talks about getdents64() only.  What I
> didn't see is an argument why this is the _only_ user visible
> interface that might be affected.  Are there any other interfaces
> (syscalls, /proc/whatever, etc.) that may directly or indirectly be
> affected?

The problem is not the interfaces - they tend to use "long"
directly and will be unaffected.  When I started running our
tests with large inode numbers, for the most part everything
just worked.  Thats because, as Jes said, the IA64 userspace
(libc, etc) is already 64 bit clean, and inode numbers are a
long (directly, not via ino_t) in much of the kernel.

The problem is the ia64 kernel sometimes chops off the high 32
bits of an inode number for no good reason.  Note that ino_t
is not the kernels ubiquitous inode number representation, its
only used for a subset of the internal interfaces and not for
kernel/user interfaces directly.

e.g. the ia64 include/asm-ia64/stat.h uses long for the inode
number field, and the struct inode i_ino is a long also.  So,
for the most part everything works as is - there are corner
cases (i.e. getdents) that this fixes though, as I explained.
It does not change any external interfaces (if it did they'd
be broken already, but I haven't seen any evidence of that in
my testing).

> If not and if the change has been run through a reasonable
> test-suite (LTP?) without ill effects, I'm certainly OK with the
> change.

With this fix, the XFS test suite passes on filesystems with
all inode numbers forced into the >2^32 range.  This includes
a large amount of filesystem/vfs stress covering all fs ops.

Without the fix, getdents and stat can report different inode
numbers for the same file, even though both structures have
sufficient bits for the correct inode number.

cheers.

ps: all of the above holds for 2.4 as well, the same patch
will apply cleanly there.

-- 
Nathan

  parent reply	other threads:[~2003-10-09  1:25 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-17  7:10 IA64 ino_t incorrectly sized? Nathan Scott
2003-09-17 14:33 ` Jes Sorensen
2003-09-17 17:26 ` David Mosberger
2003-09-29  5:52 ` Nathan Scott
2003-10-08 23:51 ` David Mosberger
2003-10-09  1:25 ` Nathan Scott [this message]
2003-10-09  1:57 ` David Mosberger
2003-10-09  3:15 ` Nathan Scott
2003-10-09  3:53 ` David Mosberger
2003-10-09  4:55 ` Nathan Scott
2003-10-09 20:46 ` David Mosberger
2003-10-10  2:22 ` Nathan Scott
2003-10-15  1:25 ` Nathan Scott
2003-10-15  1:48 ` Andrew Morton
2003-10-15  4:47 ` David Mosberger
2003-10-15  5:18 ` Andrew Morton
2003-10-15  6:06 ` Nathan Scott
2003-10-15  6:16 ` Nathan Scott
2003-10-15  6:21 ` David Mosberger
2003-10-15  6:28 ` Andrew Morton
2003-10-15  6:34 ` Nathan Scott
2003-10-15 12:42 ` Andi Kleen
2003-10-15 12:54 ` Christoph Hellwig
2003-10-15 13:29 ` Matthew Wilcox
2003-10-15 13:40 ` Christoph Hellwig
2003-10-15 16:32 ` David Mosberger
2003-10-15 16:59 ` David Mosberger
2003-10-15 17:40 ` David Mosberger
2003-10-15 23:40 ` Neil Brown
2003-10-16  1:20 ` David Mosberger
2003-10-16 22:47 ` Nathan Scott
2003-10-17  0:47 ` Neil Brown
2003-10-17  1:56 ` Nathan Scott
2003-10-21  3:37 ` Neil Brown

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=marc-linux-ia64-106566296013512@msgid-missing \
    --to=nathans@sgi.com \
    --cc=linux-ia64@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