Date: Thu, 25 Oct 2001 10:10:02 -0700 (PDT) From: Thomas Quinot <quinot@inf.enst.fr> To: freebsd-bugs@FreeBSD.org Subject: kern/31479: [iedowse@maths.tcd.ie: Re: Multiple NFS server problems with Solaris 8 clients] Message-ID: <200110251710.f9PHA2f60946@freefall.freebsd.org>
index | next in thread | raw e-mail
The following reply was made to PR kern/31479; it has been noted by GNATS.
From: Thomas Quinot <quinot@inf.enst.fr>
To: freebsd-gnats-submit@freebsd.org
Cc:
Subject: kern/31479: [iedowse@maths.tcd.ie: Re: Multiple NFS server problems with Solaris 8 clients]
Date: Thu, 25 Oct 2001 19:00:03 +0200
This patch fixes the problem for me. Thanks Ian!
----- Forwarded message from Ian Dowse <iedowse@maths.tcd.ie> -----
To: BSD User <bsder@allcaps.org>
Cc: Thomas Quinot <quinot@inf.enst.fr>,
Paul van der Zwan <paulz@trantor.xs4all.nl>, current@freebsd.org,
fs@freebsd.org
Subject: Re: Multiple NFS server problems with Solaris 8 clients
In-Reply-To: Your message of "Thu, 25 Oct 2001 03:16:08 PDT."
<20011025030312.J8642-100000@mail.allcaps.org>
Date: Thu, 25 Oct 2001 17:32:47 +0100
From: Ian Dowse <iedowse@maths.tcd.ie>
Message-ID: <200110251732.aa69596@salmon.maths.tcd.ie>
In message <20011025030312.J8642-100000@mail.allcaps.org>, 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 majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
----- End forwarded message -----
--
Thomas Quinot ** Département Informatique & Réseaux ** quinot@inf.enst.fr
ENST // 46 rue Barrault // 75634 PARIS CEDEX 13
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110251710.f9PHA2f60946>
