From owner-freebsd-fs@FreeBSD.ORG Fri Nov 4 20:30:57 2005 Return-Path: X-Original-To: fs@freebsd.org Delivered-To: freebsd-fs@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3280916A41F for ; Fri, 4 Nov 2005 20:30:57 +0000 (GMT) (envelope-from cel@citi.umich.edu) Received: from citi.umich.edu (citi.umich.edu [141.211.133.111]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABC4543D46 for ; Fri, 4 Nov 2005 20:30:56 +0000 (GMT) (envelope-from cel@citi.umich.edu) Received: from [141.211.133.33] (dexter.citi.umich.edu [141.211.133.33]) by citi.umich.edu (Postfix) with ESMTP id DAAA01BBAC; Fri, 4 Nov 2005 15:30:55 -0500 (EST) Message-ID: <436BC4FF.9090107@citi.umich.edu> Date: Fri, 04 Nov 2005 15:30:55 -0500 From: Chuck Lever Organization: Network Appliance, Inc. User-Agent: Mozilla Thunderbird 1.0.7-1.4.1 (X11/20050929) X-Accept-Language: en-us, en MIME-Version: 1.0 To: rick@snowhite.cis.uoguelph.ca Content-Type: multipart/mixed; boundary="------------070206020907030807060307" X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: fs@freebsd.org Subject: NFS client reuses XID when server returns NFSERR_JUKEBOX X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: cel@citi.umich.edu List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Nov 2005 20:30:57 -0000 This is a multi-part message in MIME format. --------------070206020907030807060307 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit hi rick- (your name is in the source file, so i'm asking you first :^) i have an internal report that FreeBSD 5.3 (and by my examination, 6.0 too) has a bug around handling an EJUKEBOX from the server. RFC1813 states that the client should retransmit using a fresh XID if it receives NFSERR_JUKEBOX, but i see that the retry logic in sys/nfsclient/nfs_socket.c reuses the old XID. is the fix as easy as generating a new XID in the if {} clause that handles the NFSERR_TRYLATER error? --------------070206020907030807060307--