On Nov 14, 2007 11:42 PM, Adam McDougall <mcdouga9_at_egr.msu.edu> wrote: > Hi, lately I've been trying to work out some NFS multiple access issues relating > to the Dovecot IMAP server software. One symptom seems to be an unusual behavior > of FreeBSD NFS clients that I cannot reproduce with Linux or Solaris NFS clients. > Basically, Timo (cc'ed) came up with a small test case that seems to indicate > sometimes a link() call can succeed while the link count of the file will not > increase. If this is ran on two FreeBSD clients from the same NFS directory, you > will occasionally see "link() succeeded, but link count=1". I've tried both a > Netapp and a FreeBSD NFS server. I've tried FreeBSD 7_RELENG clients as well as > FreeBSD 6.2-stable from this summer. I've ran it on 32bit and 64bit clients. > I've turned rpc.lockd on and off, tried tcp vs. udp mounts, nothing so far seems > to make a difference, except perhaps FreeBSD 7.0 seems to produce the error less > often. If one of the processes is ran on a non-FreeBSD NFS cliemt, only the > FreeBSD NFS client gives the link error. Anyone have any input? Thanks. Is this with both TCP and UDP clients? We're planning on making the default TCP. -Kip > > > How to reproduce (local binary is fine too, may be required if different arch): > ------------------ > > cp locktest.c /nfsserver > cd /nfsserver > gcc locktest.c -o locktest -Wall -g > > On host 1: > cd /nfsserver > ./locktest temp1 > > On host 2: (easiest to reproduce when starting just a few seconds after 1) > cd /nfsserver > ./locktest temp2 > > > Typical output (timing may vary): > ---------------------------------- > > Host 1: > > > /tmp/locktest temp1 > 5 successes > 15 successes > unlink(): No such file or directory (not a problem indication, happens > 19 successes when second process starts) > 20 successes > link() succeeded, but link count=1 > 20 successes > link() succeeded, but link count=1 > 20 successes > 33 successes > 33 successes > link() succeeded, but link count=1 > 33 successes > 45 successes > link() succeeded, but link count=1 > 45 successes > 45 successes > link() succeeded, but link count=1 > ^C > > Host 2: > > > /tmp/locktest temp2 > 6 successes > 15 successes > 25 successes > 38 successes > 39 successes > 50 successes > 59 successes > link() succeeded, but link count=1 > 59 successes > 69 successes > 79 successes > 91 successes > 99 successes > 109 successes > ^C > > > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >Received on Thu Nov 15 2007 - 06:45:58 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:22 UTC