Subject: Re: nfs servers and 5 minute VOP_READ's
To: Bill Studenmund <wrstuden@nas.nasa.gov>
From: Frank van der Linden <frank@wins.uva.nl>
List: tech-kern
Date: 03/17/1999 00:37:04
On Tue, Mar 16, 1999 at 03:18:10PM -0800, Bill Studenmund wrote:
> I think a better thing to do would be something like
> 
> 	error = VOP_READ/VOP_WRITE( ..., IO_NODELOCKED | IO_NDELAY, ...)
> 	if (error == EAGAIN) {
> 		if (v3)
> 			error = NFSERR_TRYAGAIN;
> 		else {
> 			error = drop me;
> 		}
> 	}
> 
> I'm not sure what "drop me" would consist of though...

You could just not respond, but this will trigger the usual timeout
mechanisms on the client side. Possible "NFS server not responding"
messages, but what's worse, "soft" mounts will have the read() or
write() system calls fail.
 
> What would happen to a v2 client if we sent it a v3 error?

The client would map the error to "some unknown error happened",
most probably EIO, and return that to the system call.

- Frank