We have a rather annoying issue here, involving the 64bit unfsd shipped with the ThinLinc client 4.0.0: when copying files to an exported volume on the client machine, we get 'Input/output error'. Sometimes it takes a while until copying files fails, other times it fails right away on the first file to copy. Tracing cp(1) using strace(1) revealed, that the open(2) syscall fails, when the O_EXCL flag is used in combination with O_CREAT, in order to create the destination file initially on the client machine, leaving an empty file behind. In case the destination already exists, cp(1) simply opens it using O_WRONLY|O_TRUNC which does not fail. So we basically end up with having to issue the copy command twice in order to copy a file to a volume: once in order to create the empty file and tricking the second attempt into passing O_WRONLY|O_TRUNC to open(2). This behavior is not limited to cp(1), Thunar (XFCE), Caja (MATE), and Nautilus also complain about Input/output error when files are initially created on the exported volume. We replaced the 64bit ThinLinc client by the 32bit version and the issue was gone. So, we strongly suspect the 64bit unfsd being the culprit.
I just verified the issue and it is easily reproducible, problem appeared on my first try just copying a file. This is what i found in tlclient.log debug log: 2013-04-11T13:46:16: unfsd command: /opt/thinlinc/lib/tlclient/unfsd -d -e /tmp/unfsd4cTK1X -n 51345 -m 51345 -l 127.0.0.1 -t -p -s 2013-04-11T13:46:16: unfsd pid is 2656 2013-04-11T13:46:16: unfsd: UNFS3 unfsd 0.9.23 (C) 2009, Pascal Schmidt <unfs3-server@ewetel.net> 2013-04-11T13:46:16: unfsd: /media/cdrom: ip 127.0.0.1 mask 255.255.255.255 options 24 2013-04-11T13:46:16: unfsd: /tmp: ip 127.0.0.1 mask 255.255.255.255 options 28 2013-04-11T13:47:19: unfsd: unable to send RPC reply
Hopefully fixed by vendor drop made in r27984. Will test with nightly client builds tomorrow.
Test progress: - [X] 64-bit Linux - [X] 32-bit Linux - [ ] 32-bit Solaris Waiting for bug4693: - [ ] Windows
Test progress: - [X] 64-bit Linux - [X] 32-bit Linux - [X] 32-bit Solaris Waiting for bug4693: - [ ] 32-bit Windows
Test progress: - [X] 64-bit Linux - [X] 32-bit Linux - [X] 32-bit Solaris - [X] 32-bit Windows
Tested using ThinLinc clien/server build 4109. While testing this bug i stumbled upon bug #4838, when disabling the firewall i could not reproduce the main issue. Going to test 32bit client for regressions before closing this bug.
I have now tested build 4109 client on Windows 8 and it works as expected.