In message <[EMAIL PROTECTED]>, BSD User writes:
>Actually, upon instrumenting some code, it looks like RELEASE-4.4 gets it
>mostly right.  It ejects a PROG_UNAVAIL call which causes the Solaris 8
>client to back off.  The correct message would seem to be PROC_UNAVAIL,
>but I would take PROG_UNAVAIL if I could get -current to eject it.

I think PROG_UNAVAIL is correct; the packet trace that Thomas
provided shows an RPC request with a program ID of 100227 which is
not the NFS program ID.

Try the patch below. Peter's NFS revamp changed the semantics of
the nfsm_reply() macro, and nfsrv_noop() was not updated to match.
Previously nfsm_reply would set 'error' to 0 when nd->nd_flag did
not have ND_NFSV3 set, and much of the code that uses nfsrv_noop
to generate errors ensured that nd->nd_flag was zero. Now nfsm_reply
never sets 'error' to 0, so it needs to be done explicitly. Server
op functions must return 0 in order for a reply to be sent to the
client.

Ian

Index: nfs_serv.c
===================================================================
RCS file: /home/iedowse/CVS/src/sys/nfsserver/nfs_serv.c,v
retrieving revision 1.107
diff -u -r1.107 nfs_serv.c
--- nfs_serv.c  2001/09/28 04:37:08     1.107
+++ nfs_serv.c  2001/10/25 16:19:33
@@ -4000,6 +4000,7 @@
        else
                error = EPROCUNAVAIL;
        nfsm_reply(0);
+       error = 0;
 nfsmout:
        return (error);
 }

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to