Date: Wed, 29 Feb 2012 19:21:25 -0500 (EST) From: Rick Macklem <rmacklem@uoguelph.ca> To: Garrett Wollman <wollman@bimajority.org> Cc: freebsd-fs@freebsd.org, rmacklem@freebsd.org Subject: Re: Under what circumstances does the new NFS client return EAGAIN? Message-ID: <148631084.149332.1330561285089.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <20302.29963.529821.258448@hergotha.csail.mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Garrett Wollman wrote: > I'm testing out a new file server, and trying to rsync files from > a proprietary NAS to the box I'm testing. It's running the new NFS > code and 9.0. rsync frequently and repeatably errors out with > something like this: > > rsync: read errors mapping "[source file name]": Resource temporarily > unavailable (35) > > cp(1), on the other hand, seems just fine with the same source files. > > Any ideas what causes this? > EWOULDBLOCK is most likely being returned by the kernel rpc, when a wait for a reply has timed out. With hard mounts, this would normally not be returned to userland (at least that's my understanding of the krpc code, which I didn't write), but would result in a new socket/connection being created for a retry of the RPC. The other cases are things like a non-blocking I/O or a non-blocking byte range lock request, which I doubt rsync is doing, but I don't know anything about rsync's implementation. If you are using the "soft" or "intr" mount options, I'd suggest you get rid of them (technically "intr" should result in EINTR, but I wouldn't be surprised if an EWOULDBLOCK could pop out, as well). Also, you didn't mention whether you were using UDP or TCP mounts, although the above comments should apply to both. You might also want to capture packets and look at them in wireshark, to make sure the EWOULDBLOCK isn't coming from the proprietary NAS server. rick > -GAWollman > _______________________________________________ > freebsd-fs@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-fs > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?148631084.149332.1330561285089.JavaMail.root>