2006-06-20 11:05:25

by James Pearson

[permalink] [raw]
Subject: 32 bit stat() on a 64 bit kernel failing on a large NFS filesystem?

I recently found a problem running a 32bit (i686) binary on a 64bit
(x86_64) kernel that fails when stat'ing any file on a multi-TB NFS
clustered file system (a non-Linux file system).

stat() returns EOVERFLOW (Value too large for defined data type)

The same 32bit binary running on a 32bit kernel stat'ing the same files
works OK.

In both cases, I'm using RHEL4 based distros on the clients (I also
tried a generic 2.6.16.x kernel on the 64 bit client, but that made no
difference).

We can work round the problem by either making sure the binary is
compiled with _FILE_OFFSET_BITS set to 64, or configuring the NFS file
server to use 32 bit 'file IDs'.

My question are:

Is this a 'bug' or 'feature' with using a 32 bit app on a 64 bit kernel?

If it's a 'feature', can anyone explain why it works in this way?

Thanks

James Pearson




_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs


2006-06-20 11:29:26

by Bernd Schubert

[permalink] [raw]
Subject: Re: 32 bit stat() on a 64 bit kernel failing on a large NFS filesystem?

On Tuesday 20 June 2006 13:05, James Pearson wrote:
> I recently found a problem running a 32bit (i686) binary on a 64bit
> (x86_64) kernel that fails when stat'ing any file on a multi-TB NFS
> clustered file system (a non-Linux file system).
>
> stat() returns EOVERFLOW (Value too large for defined data type)
>
> The same 32bit binary running on a 32bit kernel stat'ing the same files
> works OK.
>
> In both cases, I'm using RHEL4 based distros on the clients (I also
> tried a generic 2.6.16.x kernel on the 64 bit client, but that made no
> difference).
>
> We can work round the problem by either making sure the binary is
> compiled with _FILE_OFFSET_BITS set to 64, or configuring the NFS file
> server to use 32 bit 'file IDs'.
>
> My question are:
>
> Is this a 'bug' or 'feature' with using a 32 bit app on a 64 bit kernel?
>
> If it's a 'feature', can anyone explain why it works in this way?

I already had the same problem, just see this thread:

http://lkml.org/lkml/2005/2/28/172

-- =

Bernd Schubert
PCI / Theoretische Chemie
Universit=E4t Heidelberg
INF 229
69120 Heidelberg



_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-06-22 10:44:42

by James Pearson

[permalink] [raw]
Subject: Re: 32 bit stat() on a 64 bit kernel failing on a large NFS filesystem?

Bernd Schubert wrote:
> On Tuesday 20 June 2006 13:05, James Pearson wrote:
>
>>I recently found a problem running a 32bit (i686) binary on a 64bit
>>(x86_64) kernel that fails when stat'ing any file on a multi-TB NFS
>>clustered file system (a non-Linux file system).
>>
>>stat() returns EOVERFLOW (Value too large for defined data type)
>>
>>The same 32bit binary running on a 32bit kernel stat'ing the same files
>>works OK.
>>
>>In both cases, I'm using RHEL4 based distros on the clients (I also
>>tried a generic 2.6.16.x kernel on the 64 bit client, but that made no
>>difference).
>>
>>We can work round the problem by either making sure the binary is
>>compiled with _FILE_OFFSET_BITS set to 64, or configuring the NFS file
>>server to use 32 bit 'file IDs'.
>>
>>My question are:
>>
>>Is this a 'bug' or 'feature' with using a 32 bit app on a 64 bit kernel?
>>
>>If it's a 'feature', can anyone explain why it works in this way?
>
>
> I already had the same problem, just see this thread:
>
> http://lkml.org/lkml/2005/2/28/172

Thanks - that thread sort of explains what is going on ...

James Pearson

All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs