Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1477051ybi; Thu, 30 May 2019 18:48:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqy3OWFJ8MvBQG2dtFoTQAcmOuPlSIZnqYcoXDvQ/BWqv8+db6Tp15+4y/GEyv/fY2z2Plmj X-Received: by 2002:a17:90a:5d09:: with SMTP id s9mr6093447pji.120.1559267308051; Thu, 30 May 2019 18:48:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559267308; cv=none; d=google.com; s=arc-20160816; b=eYggH94OkrRwEvwKLvnisXKzCBb1onn4OEoSPQlmY2/4mVrTAgaP1iBT5vUrC83WL/ r9xxo4YAgMC0UfFomUcayfcoxkRKxWxQpwgnCMXuiKBXv6jo+VI+Xy8DqRtQ0wscNN+T g6TLogIXkK1qwY/57A2BpooH8rWsql9RxKTBG/o80WYMSKWdfA9Qri8HLTma5uzZeVhl g+yxPO47cTrgNUHNSEIA/L3D93WRJmpmZfQQJWqEC6rKYf+DrU9xAxd1Qv5HEVJFsRnn QocFnpvQdRfqAm20cTtTwkb14b6VQelts4tkhHeG4Vm6aTW4uKzfOqxtkuC0pnFTHgSc rKIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=b9jc5kWQ4ltYEIpmNCC+X5LL3rR4HyFgxh71VrJX+/U=; b=gVqUrlQc6yJUx5cAsGrRzkOpTDXh27KJ4Anhg9IhTEu0Gzej9o9a2JnXUyIZpQE5KB 8CXtjz65EPUwiNdTjbBJsBE6p9kgrsGDppyWVwDFyzQ1pGFVU6yLS/YARn73Htj34mZx ivsX9nOa4NLpbmXXCjkVfbQT2XFYiL5T3ZyJTm7Yq8BbZKcM0YrTJ96ls/+4fhafvaEf GyZTixoqEX0c1bsiTQxWtWqzqSHjN2s5MbGWIpu+mk7gVJjGnPwLAPfsBFlPBwW9+oty jfZ/cfARVa0DAszzcwMciFIC89tJo+WNXmqhlBm+C6fF2DnopjdwyIVYpx8/UQorDivW CYzw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b9si4720346pgq.253.2019.05.30.18.48.14; Thu, 30 May 2019 18:48:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726678AbfEaBsD (ORCPT + 99 others); Thu, 30 May 2019 21:48:03 -0400 Received: from p3plsmtpa06-09.prod.phx3.secureserver.net ([173.201.192.110]:58605 "EHLO p3plsmtpa06-09.prod.phx3.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726372AbfEaBsD (ORCPT ); Thu, 30 May 2019 21:48:03 -0400 Received: from [192.168.0.56] ([24.218.182.144]) by :SMTPAUTH: with ESMTPSA id WWeHh87gcXGbMWWeHhO5Nu; Thu, 30 May 2019 18:48:02 -0700 Subject: Re: [PATCH 0/9] Multiple network connections for a single NFS mount. To: NeilBrown , Olga Kornievskaia Cc: Chuck Lever , Schumaker Anna , Trond Myklebust , linux-nfs References: <155917564898.3988.6096672032831115016.stgit@noble.brown> <1df23ebc-ffe5-1a57-c40a-d5e9a45c8498@talpey.com> <9b64b9d9-b7cf-c818-28e2-58b3a821d39d@talpey.com> <87pnnztvo1.fsf@notabene.neil.brown.name> From: Tom Talpey Message-ID: Date: Thu, 30 May 2019 21:48:00 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: <87pnnztvo1.fsf@notabene.neil.brown.name> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfJZdJhC30wxVdSw4Q5qUSHP+MrUFM1I3PlfD00TP9MJAst4cVSVcedgQMeNX0KBQa3RRe4KSlYEVu/ZMO7kZjWpb0BEzkUxJuJ6oPhZG+bVMSTmauwyF bmUFc/XztviY52AfXEV9ycY931uIfR6eqTE1mQiznXIbNHWeCQhtYy61Hv8kEepWxpqBMt/l0ZFzkiJtyttfeGgBlhjjDm0eTSPrOp26H81lrPE7i18VlI5j WLZkKdvQ0+C2OOePncrXBwvv88HZ+MoB5CntTIgJUC9H2SuTK84lyeTcSXqI9OUJqqyaEiEie6Me71ka028xM9XGRdcylwk4X75VaZd2UP4= Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On 5/30/2019 6:38 PM, NeilBrown wrote: > On Thu, May 30 2019, Tom Talpey wrote: > >> On 5/30/2019 1:20 PM, Olga Kornievskaia wrote: >>> On Thu, May 30, 2019 at 1:05 PM Tom Talpey wrote: >>>> >>>> On 5/29/2019 8:41 PM, NeilBrown wrote: >>>>> I've also re-arrange the patches a bit, merged two, and remove the >>>>> restriction to TCP and NFSV4.x,x>=1. Discussions seemed to suggest >>>>> these restrictions were not needed, I can see no need. >>>> >>>> I believe the need is for the correctness of retries. Because NFSv2, >>>> NFSv3 and NFSv4.0 have no exactly-once semantics of their own, server >>>> duplicate request caches are important (although often imperfect). >>>> These caches use client XID's, source ports and addresses, sometimes >>>> in addition to other methods, to detect retry. Existing clients are >>>> careful to reconnect with the same source port, to ensure this. And >>>> existing servers won't change. >>> >>> Retries are already bound to the same connection so there shouldn't be >>> an issue of a retransmission coming from a different source port. >> >> So, there's no path redundancy? If any connection is lost and can't >> be reestablished, the requests on that connection will time out? > > Path redundancy happens lower down in the stack. Presumably a bonding > driver will divert flows to a working path when one path fails. > NFS doesn't see paths at all. It just sees TCP connections - each with > the same source and destination address. How these are associated, from > time to time, with different hardware is completely transparent to NFS. But, you don't propose to constrain this to bonded connections. So NFS will create connections on whatever collection of NICs which are locally, and if these aren't bonded, well, the issues become visible. BTW, RDMA NICs are never bonded. Tom. > >> >> I think a common configuration will be two NICs and two network paths, >> a so-called shotgun. Admins will be quite frustrated to discover it >> gives no additional robustness, and perhaps even less. >> >> Why not simply restrict this to the fully-correct, fully-functional >> NFSv4.1+ scenario, and not try to paper over the shortcomings? > > Because I cannot see any shortcomings in using it for v3 or v4.0. > > Also, there are situations where NFSv3 is a measurably better choice > than NFSv4.1. Al least it seems to allow a quicker failover for HA. > But that is really a topic for another day. > > NeilBrown > >> >> Tom. >> >>> >>>> Multiple connections will result in multiple source ports, and possibly >>>> multiple source addresses, meaning retried client requests may be >>>> accepted as new, rather than having any chance of being recognized as >>>> retries. >>>> >>>> NFSv4.1+ don't have this issue, but removing the restrictions would >>>> seem to break the downlevel mounts. >>>> >>>> Tom. >>>> >>> >>>