Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp1586808pxb; Fri, 1 Oct 2021 14:09:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxRm3d8Ft9B3QisPOMbzifkjdeWp0zIwmPt0crj+1zZpTvx3a86anHzDUCW6C1xQNAbjdhU X-Received: by 2002:a05:6402:3486:: with SMTP id v6mr331684edc.122.1633122576835; Fri, 01 Oct 2021 14:09:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633122576; cv=none; d=google.com; s=arc-20160816; b=KrXF+vBcSf7WjG4w7+y/XPG3B1S+HkDeqYPuC5wFjEfGGGIScCvSaQ6inYlGqwPqVS GqO667kro+0QYKEu/9RB94/kyAZkVH82pPF7Y67MfgHC8ltrRYQR01s3QjawUh1qJuEV u23Myhv+aHXN6ONfrf8FCFTb1IBriaGk6ZWja9mghZETaZA/4ef/hzY83ZULLM393g70 u9urkD+dN565kzQZ6Aneo5BRVu0vp1ahLhorbgI9x4Gbhph6qgM8f3KLN8imqdHKuR0B 2btRTcQLNnzF/s3+/yk/1V/749BYXxMecioJImjd2piC8AmqJlcB4QRzzPv1N9Q6+a2w kKag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature:dkim-filter; bh=V4FoBQA3JU469tT/UTIuI1kHhKaQhNKWB11Q7A/TjLk=; b=tTlBGssui2BKWG0xpSuPLsd2GO9ZEvpMkCVqC4xMU0a+EizCrLLov7BnvlYyD1v74n 3C72ck86XDf8KVW4IVBq9y5iTb+jTRvTuZ9+T5r374izfKHpCDJLFwrrOmyYrvETnf+y ex5piZwrx5is0mqecWWnXENvXIUx21dsvgRoPjFN22G8/8jCyf83KzLkYSu/K01RYS7h AB8vObR8eEzNbggxMnFE9tfWW+oFA4x2hfPbzuy/DQau49B+O5D2rDMknbLKAhDMfqEc uGL8yQ6NeR4Ot9/Q0vAtlN3QI3BYxOxPJM8PDidiQaTsI4S61h9kxRwvznvlCgCRolXa F75Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fieldses.org header.s=default header.b=sNu31CzY; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ka7si8079921ejc.664.2021.10.01.14.09.02; Fri, 01 Oct 2021 14:09:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@fieldses.org header.s=default header.b=sNu31CzY; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230105AbhJAUz0 (ORCPT + 99 others); Fri, 1 Oct 2021 16:55:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58970 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1355450AbhJAUzZ (ORCPT ); Fri, 1 Oct 2021 16:55:25 -0400 Received: from fieldses.org (fieldses.org [IPv6:2600:3c00:e000:2f7::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 80751C061775; Fri, 1 Oct 2021 13:53:28 -0700 (PDT) Received: by fieldses.org (Postfix, from userid 2815) id C38A32839; Fri, 1 Oct 2021 16:53:27 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.11.0 fieldses.org C38A32839 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fieldses.org; s=default; t=1633121607; bh=V4FoBQA3JU469tT/UTIuI1kHhKaQhNKWB11Q7A/TjLk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sNu31CzYRnflJp0sUgY12SLmNBPaJbn5Ww97L4j+GSky2TF37LZrwnsOOc5wdeBpM vD9DQrUZOCi/JWm+hTHwtUT7zevxjPEFtckRIANraMW9DVPyrZtDW6Nr9ECvq0DBgT eskqqG1KL798BiYEQgfr0lDvLYwf4VCi3xcT9frA= Date: Fri, 1 Oct 2021 16:53:27 -0400 From: "J. Bruce Fields" To: Dai Ngo Cc: chuck.lever@oracle.com, linux-nfs@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH RFC v5 0/2] nfsd: Initial implementation of NFSv4 Courteous Server Message-ID: <20211001205327.GN959@fieldses.org> References: <20210929005641.60861-1-dai.ngo@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210929005641.60861-1-dai.ngo@oracle.com> User-Agent: Mutt/1.5.21 (2010-09-15) Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On Tue, Sep 28, 2021 at 08:56:39PM -0400, Dai Ngo wrote: > > Hi Bruce, > > This series of patches implement the NFSv4 Courteous Server. Apologies, I keep meaning to get back to this and haven't yet. I do notice I'm seeing a timeout on pynfs 4.0 test OPEN18. --b. > > A server which does not immediately expunge the state on lease expiration > is known as a Courteous Server. A Courteous Server continues to recognize > previously generated state tokens as valid until conflict arises between > the expired state and the requests from another client, or the server > reboots. > > The v2 patch includes the following: > > . add new callback, lm_expire_lock, to lock_manager_operations to > allow the lock manager to take appropriate action with conflict lock. > > . handle conflicts of NFSv4 locks with NFSv3/NLM and local locks. > > . expire courtesy client after 24hr if client has not reconnected. > > . do not allow expired client to become courtesy client if there are > waiters for client's locks. > > . modify client_info_show to show courtesy client and seconds from > last renew. > > . fix a problem with NFSv4.1 server where the it keeps returning > SEQ4_STATUS_CB_PATH_DOWN in the successful SEQUENCE reply, after > the courtesy client re-connects, causing the client to keep sending > BCTS requests to server. > > The v3 patch includes the following: > > . modified posix_test_lock to check and resolve conflict locks > to handle NLM TEST and NFSv4 LOCKT requests. > > . separate out fix for back channel stuck in SEQ4_STATUS_CB_PATH_DOWN. > > The v4 patch includes: > > . rework nfsd_check_courtesy to avoid dead lock of fl_lock and client_lock > by asking the laudromat thread to destroy the courtesy client. > > . handle NFSv4 share reservation conflicts with courtesy client. This > includes conflicts between access mode and deny mode and vice versa. > > . drop the patch for back channel stuck in SEQ4_STATUS_CB_PATH_DOWN. > > The v5 patch includes: > > . fix recursive locking of file_rwsem from posix_lock_file. > > . retest with LOCKDEP enabled. > > NOTE: I will submit pynfs tests for courteous server including tests > for share reservation conflicts in a separate patch. >