> > or possibly .../rpc_debug. The output may be voluminous, but to track down the
> > problem it would help to know what NFS or RPC routine is failing.
>
> The current NFS client code is broken. It has been since early 2.1.x. It
> makes one assumption that its safe to manipulate sockets from the received
> data callback which isnt unfortunately true.
>
> I've had a look at the area of code concerned and while its probably safe
> for UDP (it may not be SMP safe) its not safe for TCP and not easily fixable
> as I had hoped.
>
> If nobody else has had time in a few weeks I may have another look at it
>
I can now trace down the exact problem. I'm using an automounter
(autofs). When the unmount timeout occurs, the "Input/output error"
happens. This doesn't affect manually mounted drives.
SO...
To reproduce the error without the automounter, I did the following:
I made a 40MB file of zero's
"dd if=/dev/zero of=40M bs=$((1024*1024)) count=40"
I then mounted my nfs public directory
"mount pulsar:/export/home/public /a"
Then I tried to copy it from my local hard drive to my NFS mounted
directory.
"[root@bofh jfulmer]# cp 40M /a
cp: overwrite `/a/40M'? y"
Then I switch to another xterm and try to umount /a
"[root@bofh jfulmer]# umount /a
umount: /a: device is busy
[root@bofh jfulmer]# "
As soon as I do this, the nfs transfer fails with:
"cp: /a/40M: Input/output error
[root@bofh jfulmer]#"
Apparently just trying to unmount a busy nfs filesystem is enough to
cause the error. This must be reletively new, since it worked in the
earlier 2.1.10x kernels (It errors in 2.1.109 BTW.)
Thanks,
jf
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + John Fulmer | "UNIX was not designed to stop + + Secure Network System | you from doing stupid things, + + Lawrence, Kansas | because that would also stop you + + | from doing clever things." + + jfulmer@iegroup.com | + + http://www.iegroup.com | -- Larry Wall + + "The opinions contained above may not reflect those of SNS" + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html