Anyone who has NFS, could you test: http://dovecot.org/tmp/locktest.c
- Compile: gcc locktest.c -o locktest -Wall -g
- Start in server 1: ./locktest temp1
- Start in server 2: ./locktest temp2
- Server 1 might log "unlink() failed" error after starting the second locktest, ignore that.
It starts writing something like:
1 successes 12 successes link() succeeded, but link count=1 12 successes
What I'd like to know is what OS you use on your NFS clients, what NFS server you use and what errors does it give (errors being those "link() succeeded/failed, but .." messages).
I'm getting that "link() succeeded, but link count=1" error with FreeBSD 6.2. So I'd like to know if this is a FreeBSD bug, NFS server bug or a more common NFS problem that I should work around..
On Thu, 2007-11-15 at 04:32 +0200, Timo Sirainen wrote:
Anyone who has NFS, could you test: http://dovecot.org/tmp/locktest.c
(did a minor update to that in case someone already got it)
What I'd like to know is what OS you use on your NFS clients, what NFS server you use and what errors does it give (errors being those "link() succeeded/failed, but .." messages).
Linux doesn't seem to give any errors. So I guess it really is a bug and not a general problem.
On 15.11.2007, at 4.37, Timo Sirainen wrote:
What I'd like to know is what OS you use on your NFS clients, what
NFS server you use and what errors does it give (errors being those
"link() succeeded/failed, but .." messages).Linux doesn't seem to give any errors. So I guess it really is a
bug and not a general problem.
You can forget about this tester. This looks pretty clearly like a
FreeBSD (6.2) bug now. Solaris and Linux against the same NFS server
worked fine while FreeBSD gave errors.
No errors on Solaris 10 either (Solaris 10 NFS clients and Solaris 10 NFS server with ZFS backing store).
- Peter
Timo Sirainen wrote:
On Thu, 2007-11-15 at 04:32 +0200, Timo Sirainen wrote:
Anyone who has NFS, could you test: http://dovecot.org/tmp/locktest.c
(did a minor update to that in case someone already got it)
What I'd like to know is what OS you use on your NFS clients, what NFS server you use and what errors does it give (errors being those "link() succeeded/failed, but .." messages).
Linux doesn't seem to give any errors. So I guess it really is a bug and not a general problem.
On Thu, 15.11.2007 at 04:32:16 +0200, Timo Sirainen wrote:
Anyone who has NFS, could you test: http://dovecot.org/tmp/locktest.c
- Compile: gcc locktest.c -o locktest -Wall -g
- Start in server 1: ./locktest temp1
- Start in server 2: ./locktest temp2
- Server 1 might log "unlink() failed" error after starting the second locktest, ignore that.
I'm not quite sure how this is all meant. What's the point in running this on two different NFS servers? Do you mean to run it on two clients, inside the same NFS dir using the same 'temp' ressource?
I ran it on a 6.2 FreeBSD Server and a 7.0 FreeBSD client. When using 'temp1' and 'temp2' as per your example, nothing really breaks.
When using 'temp1' for both, I got this on the 7.0 client:
% /tmp/locktest temp1 6 successes 14 successes 23 successes 33 successes unlink(): No such file or directory 42 successes 42 successes 42 successes 43 successes 43 successes 43 successes link(): No such file or directory (1)%
It starts writing something like:
1 successes 12 successes link() succeeded, but link count=1 12 successes
This never happened.
Cheers, Ulrich Spoerlein
It is better to remain silent and be thought a fool, than to speak, and remove all doubt.
On 15.11.2007, at 22.06, Ulrich Spoerlein wrote:
On Thu, 15.11.2007 at 04:32:16 +0200, Timo Sirainen wrote:
Anyone who has NFS, could you test: http://dovecot.org/tmp/locktest.c
- Compile: gcc locktest.c -o locktest -Wall -g
- Start in server 1: ./locktest temp1
- Start in server 2: ./locktest temp2
- Server 1 might log "unlink() failed" error after starting the
second locktest, ignore that.I'm not quite sure how this is all meant. What's the point in running this on two different NFS servers? Do you mean to run it on two
clients, inside the same NFS dir using the same 'temp' ressource?I ran it on a 6.2 FreeBSD Server and a 7.0 FreeBSD client. When using 'temp1' and 'temp2' as per your example, nothing really breaks.
Forget about this. It's a "bug" in FreeBSD: http://lists.freebsd.org/ pipermail/freebsd-current/2007-November/079976.html http:// lists.freebsd.org/pipermail/freebsd-current/2007-November/079996.html
I added a workaround to Dovecot though.
participants (4)
-
Cor Bosman
-
Peter Eriksson
-
Timo Sirainen
-
Ulrich Spoerlein