From: Bernd Schubert <bernd-schubert@web.de>
To: nfs@lists.sourceforge.net
Subject: x86_64: 32bit emulation problems
Date: Mon, 28 Feb 2005 22:08:27 +0100 [thread overview]
Message-ID: <200502282208.29263.bernd-schubert@web.de> (raw)
Sorry, I'm sending it here again, since my first mail, in which I CCed LKML
and Andi Kleen was refused by the listserver.
Hi,
I'm just looking into a very strange problem. Some of our systems have
athlon64 CPUs. Due to our diskless nfs environment we currently still prefer
a 32bit userspace environment, but would like to be able to use a 64-bit
chroot environment.
Well, currently there seems to be a stat64() NFS problem when a x86_64 kernel
is booted and stat64() comes from a 32bit libc.
Here's just an example:
hitchcock:/home/bernd/src/tests# ./test_stat64 /mnt/test/yp
stat() works fine.
hitchcock:/home/bernd/src/tests# ./test_stat32 /mnt/test/yp
stat for /mnt/test/yp failed
The test program looks rather simple:
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
char *dir;
struct stat buf;
dir = argv[1];
if (stat (dir, &buf) == -1)
fprintf(stderr, "stat for %s failed \n", dir);
else
fprintf(stderr, "stat() works fine.\n");
return (0);
}
Here are the strace outputs:
=====================
32bit:
------
hitchcock:/home/bernd/src/tests# strace32 ./test_stat32 /mnt/test/yp
execve("./test_stat32", ["./test_stat32", "/mnt/test/yp"], [/* 39 vars */]) =
0
uname({sys="Linux", node="hitchcock", ...}) = 0
brk(0) = 0x80ad000
brk(0x80ce000) = 0x80ce000
stat64("/mnt/test/yp", {st_mode=S_IFDIR|0755, st_size=2704, ...}) = 0
write(2, "stat for /mnt/test/yp failed \n", 30stat for /mnt/test/yp failed
) = 30
exit_group(0) = ?
64bit:
-------
hitchcock:/home/bernd/src/tests# strace ./test_stat64 /mnt/test/yp
execve("./test_stat64", ["./test_stat64", "/mnt/test/yp"], [/* 39 vars */]) =
0
uname({sys="Linux", node="hitchcock", ...}) = 0
brk(0) = 0x572000
brk(0x593000) = 0x593000
stat("/mnt/test/yp", {st_mode=S_IFDIR|0755, st_size=2704, ...}) = 0
write(2, "stat() works fine.\n", 19stat() works fine.
) = 19
_exit(0) = ?
Anyone having an idea whats going on? The ethereal capture also looks pretty
normal. The kernel of this system is 2.6.9, but it also happens on another
system with 2.6.11-rc5.
As usual we are using unfs3 for /etc and /var, but for me that looks like a
client problem. I'm now also pretty sure that its not a problem for a local
mount point (so a local disk).
Thanks in advance,
Bernd
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
next reply other threads:[~2005-02-28 21:08 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-28 21:08 Bernd Schubert [this message]
2005-02-28 22:26 ` x86_64: 32bit emulation problems Trond Myklebust
2005-02-28 23:14 ` Bernd Schubert
2005-02-28 23:43 ` Bernd Schubert
2005-03-01 0:47 ` Dan Stromberg
-- strict thread matches above, loose matches on Subject: below --
2005-02-28 20:54 Bernd Schubert
2005-02-28 21:00 ` Bernd Schubert
2005-03-01 20:24 ` Andi Kleen
2005-03-01 21:07 ` Bernd Schubert
2005-03-01 21:48 ` Andi Kleen
2005-03-01 22:30 ` Bernd Schubert
2005-03-01 23:07 ` Andi Kleen
2005-03-01 22:10 ` Andreas Schwab
2005-03-01 22:19 ` Andi Kleen
2005-03-01 23:22 ` Andreas Schwab
2005-03-01 23:19 ` Bernd Schubert
2005-03-01 23:39 ` Andreas Schwab
2005-03-01 23:46 ` Andreas Schwab
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=200502282208.29263.bernd-schubert@web.de \
--to=bernd-schubert@web.de \
--cc=nfs@lists.sourceforge.net \
/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