Skip site navigation (1)Skip section navigation (2)
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>

next in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110251710.f9PHA2f60946>