This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/12552] New: lstat hangs when trying to stat a file being written to via nfs
- From: "cade.robinson at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: Mon, 7 Mar 2011 21:10:56 +0000
- Subject: [Bug libc/12552] New: lstat hangs when trying to stat a file being written to via nfs
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=12552
Summary: lstat hangs when trying to stat a file being written
to via nfs
Product: glibc
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: libc
AssignedTo: drepper.fsp@gmail.com
ReportedBy: cade.robinson@gmail.com
I don't know if this is libc or kernel but I am starting here.
lstat hangs for a few seconds when trying to stat a file being written to via
NFS.
I have tested this with glibc 2.4 (SLES 10), 2.11 (SLES 11, ubuntu 10.04), 2.12
(ubuntu 10.10), and 2.13 (arch).
I have tested against a Netapp filer and an ubuntu 7.10 NFS server.
SLES9 with glibc 2.3.3 does not exhibit this behavior.
Steps to recreate:
Open two windows to a client mounting something NFS and change to the NFS
mount.
Run in one window:
dd if=/dev/zero of=testfile bs=1024 count=10240000
In the other window run this while the dd is running:
strace stat testfile
or
strace ls testfile
The strace will hang for a bit on the lstat() system call on the NFS client
that is running the dd (or write).
If you run the strace command on another client at the same time the dd is
running you will get no pause/hang with lstat.
I can see this with anything that runs lstat like ls, stat, a compiled program
that just does an lstat, etc.
Again I don't know if this is glibc or the kernel but I don't know where to
start and this is killing us performance wise.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.