From owner-freebsd-bugs Thu Oct 25 10:10:32 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 0D09437B407 for ; Thu, 25 Oct 2001 10:10:02 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f9PHA2f60946; Thu, 25 Oct 2001 10:10:02 -0700 (PDT) (envelope-from gnats) Date: Thu, 25 Oct 2001 10:10:02 -0700 (PDT) Message-Id: <200110251710.f9PHA2f60946@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Thomas Quinot Subject: kern/31479: [iedowse@maths.tcd.ie: Re: Multiple NFS server problems with Solaris 8 clients] Reply-To: Thomas Quinot Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR kern/31479; it has been noted by GNATS. From: Thomas Quinot 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 ----- To: BSD User Cc: Thomas Quinot , Paul van der Zwan , 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 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