Re: NFS and 2.1.111

John Fulmer (
Wed, 29 Jul 1998 14:46:03 -0500

Alan Cox wrote:

> > 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.


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

"[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.)



+ 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."        +
+           |                                    + 
+        |                     -- 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 Please read the FAQ at