Re: x86_64: 32bit emulation problems

From: Trond Myklebust
Date: Wed Mar 02 2005 - 04:15:04 EST


on den 02.03.2005 Klokka 09:18 (+0100) skreiv Andi Kleen:
> On Wed, Mar 02, 2005 at 12:46:23AM +0100, Andreas Schwab wrote:
> > Bernd Schubert <bernd-schubert@xxxxxx> writes:
> >
> > > Hmm, after compiling with -D_FILE_OFFSET_BITS=64 it works fine. But why does
> > > it work without this option on a 32bit kernel, but not on a 64bit kernel?
> >
> > See nfs_fileid_to_ino_t for why the inode number is different between
> > 32bit and 64bit kernels.
>
> Ok that explains it. Thanks.
>
> Best would be probably to just do the shift unconditionally on 64bit kernels
> too.
>
> Trond, what do you think?

Why would this be more appropriate than defining __kernel_ino_t on the
x86_64 platform to be of the size that you actually want the kernel to
support?

I can see no good reason for truncating inode number values on platforms
that actually do support 64-bit inode numbers, but I can see several
reasons why you might want not to (utilities that need to detect hard
linked files for instance).

Cheers,
Trond
--
Trond Myklebust <trond.myklebust@xxxxxxxxxx>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/