Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp965618ybl; Wed, 28 Aug 2019 07:49:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqzAkxDBa/ukoRpnykPLY8C192oCyb02mVzCUMat6S5II4PMFaPa76OWNgD1qEw4Le5J7YAv X-Received: by 2002:a63:e010:: with SMTP id e16mr3722344pgh.285.1567003761877; Wed, 28 Aug 2019 07:49:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1567003761; cv=none; d=google.com; s=arc-20160816; b=CxLJNo/JyOd9pZtKt1t4dHghQr8vpjZrgxVdpkUhLdrBFytE+arxKjmb927DKQyUjy YmGQNqQy6XlNmkZ/sqXYbOYjTPQF0QYLRo8xEXj5cKXBZelQdcM5pVY6XjmFA0DLh18M wW9CSyFnXdiEsFt3c5nVTfHtKWqi/p4hyTY2LoWrkAwq5ilj0CUQMtndN+PpoAiP4r/w bUPkJPSH6DlvkpAWT2lLchXJpWyfj3J/y3g4bMUI82AASxSJs7+2wGQiOspOUkXnMHkf 5497nImH4ddLgfJqDjhikuEE0kcL1LE8/frj/vQ8BqMlXrO00ZlWSH18/2k5sreWrKCl qX8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=c0yNJig+Mke5CU1h2up4o1MNcrZn8CPax3ykHLtROzA=; b=TBLCk3MAV9RnnlyGlwS8qfaeV2AQxxkSXZ+yiDl0aXBWczdYJNrZLW6t4NWcuy0vUU BKrTgta5HdP4qtvhCY6OxC+dMXBCNsASTmQtVhujT3j2B2SvifXyYIRjWmO/c/qJcPFj NLuh8ESUV3cBoT7BjVsXWBttNz6bwJC+FfNQezvKUNn3tiA2gfsRpxOKcMV4bvdYxijN Nq93QZZdqGccurDP4qAI9guQ0vYSOjEeo3F7G/s9fW8e91zn7wnKdUVXedjtZzAKOaLH Ii6g2+okIomTVHNn/jk3ekXT3U1X2Iw5x3SgbxUaWJbY0UtJfFTZ4iHvoaKvXQJau+xY RG/w== 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 i64si2108199pli.252.2019.08.28.07.49.06; Wed, 28 Aug 2019 07:49:21 -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 S1726767AbfH1Osj (ORCPT + 99 others); Wed, 28 Aug 2019 10:48:39 -0400 Received: from fieldses.org ([173.255.197.46]:49014 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726272AbfH1Osj (ORCPT ); Wed, 28 Aug 2019 10:48:39 -0400 Received: by fieldses.org (Postfix, from userid 2815) id 177921C97; Wed, 28 Aug 2019 10:48:39 -0400 (EDT) Date: Wed, 28 Aug 2019 10:48:39 -0400 From: Bruce Fields To: "J. Bruce Fields" Cc: Jeff Layton , Chuck Lever , Trond Myklebust , Linux NFS Mailing List Subject: Re: [PATCH 0/3] Handling NFSv3 I/O errors in knfsd Message-ID: <20190828144839.GA26284@fieldses.org> References: <20190827145819.GB9804@fieldses.org> <20190827145912.GC9804@fieldses.org> <1ee75165d548b336f5724b6d655aa2545b9270c3.camel@hammerspace.com> <20190828134839.GA26492@fieldses.org> <45582F32-69C7-4DC8-A608-E45038A44D42@oracle.com> <20190828140044.GA14249@parsley.fieldses.org> <990B7B57-53B8-4ECB-A08B-1AFD2FCE13A6@oracle.com> <31658faabfbe3b4c2925bd899e264adf501fbc75.camel@redhat.com> <20190828144031.GB14249@parsley.fieldses.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190828144031.GB14249@parsley.fieldses.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On Wed, Aug 28, 2019 at 10:40:31AM -0400, J. Bruce Fields wrote: > On Wed, Aug 28, 2019 at 10:16:09AM -0400, Jeff Layton wrote: > > For the most part, these sorts of errors tend to be rare. If it turns > > out to be a problem we could consider moving the verifier into > > svc_export or something? > > As Trond says, this isn't really a server implementation issue, it's a > protocol issue. If a client detects when to resend writes by storing a > single verifier per server, then returning different verifiers from > writes to different exports will have it resending every time it writes > to one export then another. The other way to limit this is by trying to detect the single-writer case, since it's probably also rare for multiple clients to write to the same file. Are there any common cases where two clients share the same TCP connection? Maybe that would be a conservative enough test? And you wouldn't have to track every connection that's ever sent a WRITE to a given file. Just remember the first one, with a flag to track whether anyone else has ever written to it. ?? --b.