From owner-freebsd-fs@FreeBSD.ORG Mon Mar 24 19:07:14 2008 Return-Path: Delivered-To: fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D00021065674; Mon, 24 Mar 2008 19:07:14 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 710EB8FC1D; Mon, 24 Mar 2008 19:07:14 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id m2OIku98040601 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 24 Mar 2008 11:46:56 -0700 (PDT) (envelope-from sam@freebsd.org) Message-ID: <47E7F720.5080004@freebsd.org> Date: Mon, 24 Mar 2008 11:46:56 -0700 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.9 (X11/20071125) MIME-Version: 1.0 To: Alfred Perlstein References: <20080314100155.GW67856@elvis.mu.org> In-Reply-To: <20080314100155.GW67856@elvis.mu.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-Misty-Metrics: ebb.errno.com; whitelist Cc: ups@freebsd.org, jhb@freebsd.org, fs@freebsd.org Subject: Re: nfs no longer reconnects for udp sockets X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Mar 2008 19:07:15 -0000 Alfred Perlstein wrote: > Hey guys, someone was having issues with NFS mounts and > I happened to notice that it appears that the > "reconnect if socket went south" semantics I added a few > years ago were basically disabled by the nfs optimizations > added for "recv side processing". > > The problem is as such: > > You have an NFS mount on UDP. > Somehow the route goes bad. > The UDP socket is now "broken" as the route will remain > hosed forever. This is particularly bad when an interface > flaps and loses its IP address as the UDP socket's route is > then set to nul or loopback or something and never gets fixed. > Your nfs mount goes dead even if the routing issues is > resolved (interface brought back up). > > Please see attached patch. > > Easy way to reproduce problem: > > mount an nfs filesystem using UDP. > ifconfig interface down > try to access mount > ifconfig interface up > mount should still be dead. > > Please review. > This patch doesn't apply against HEAD. There are also gratuitous style changes. Looks fine, but please re-spin (and test against HEAD). Sam