Re: [nfsv4] RFC: New DelegReturn_NoFH operation for NFSv4.2?
Rick Macklem <rick.macklem@gmail.com> Thu, 18 April 2024 02:05 UTC
Return-Path: <rick.macklem@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0A907C14F71C for <nfsv4@ietfa.amsl.com>; Wed, 17 Apr 2024 19:05:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ylut8i0f9jgH for <nfsv4@ietfa.amsl.com>; Wed, 17 Apr 2024 19:05:10 -0700 (PDT)
Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 35AF8C14F708 for <nfsv4@ietf.org>; Wed, 17 Apr 2024 19:05:10 -0700 (PDT)
Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-2a53b331400so307741a91.1 for <nfsv4@ietf.org>; Wed, 17 Apr 2024 19:05:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713405909; x=1714010709; darn=ietf.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=pL98bzwXRRYVUowhr4vOYl4AGx5fzdAi9P79NKWIIEA=; b=jFmDJZU6kaQrvrtAX64C346nXLNLju/+Vvn6KMHdArm0OfT28y23bUVfYygK0MQ8+L idmkH5kl5v4sAfAwhKBayMg/RyyLRzNBP5mhaBSlg0nZDSqN8YWeb1Wdzj9x5qMYloW4 2nOSGwQybxKomIIWp7dv85Lb1gQbmhIOot6Jg0V6d3XG4x+mP8TJ7s1aPrqQLS06LqEg nz6h3jq0k8j3V5yyvSO+qyE3CqaNsHpTFFtQgPhQCEu+3wK9DCHr1ZCPQhaBHwPTeOnW OWxFqk7J9Lrp7LCpGIyDk9SxamPFcyP6K4yEuz/15uaXT/z2kqc2rsnyqZEbQ50oZ5xh GV5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713405909; x=1714010709; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pL98bzwXRRYVUowhr4vOYl4AGx5fzdAi9P79NKWIIEA=; b=uWzXVRIsR8F2H1i8zy/NqS1XCDH913ci1tFCysEN1E8ipikfVopNn5MaH1Rzho8Aug UboGSDcStEZW+KaGg6Ct+MABq1uRMTVZMqaioAF6pk8wfitt083ql6H/XmXiCzQ589tl 4AuCQSyWCt55g5pzJj4WYEwad2T8HAtZOSNYUMEB6TDHbfWyb6F6slrs9Lwf+BwcttqZ 0tJ7WlxoUy8+JuN0nKicB1ZjKHAMHixfbhd+x+qUnxlv9sWtLvvAdsTt77lcnVo6qD9u p78dr/69M/lPAwKJqNwfayMWFxaFbMZwMCOC25Vnl2P42OuO8xsOzfecWMgygydHs5Wd FxCg==
X-Gm-Message-State: AOJu0YxEv/wntGfSx7tRWSOXWkPsEj2I9CytU3E94nFSiHSFg6oS+OXW 32MFPFwQ4ozYS06Ojrj5HwawFU4WOCId126Lfdmbx/CaTp1fHmS6l3pQbRGN7F15c621SxgSbV8 QwMANvF0XxoPb4GJ5+oLyoDmcQw==
X-Google-Smtp-Source: AGHT+IF2xNmyeBy8a1BsnASKek/fsDdUO7JWa8J8UZS5Oidq9yhUAGoPEcTSskcBQoZIh3YNf5WSVJ6g7ph8uH94b78=
X-Received: by 2002:a17:90b:17c7:b0:2a5:f19:978d with SMTP id me7-20020a17090b17c700b002a50f19978dmr1215705pjb.37.1713405909141; Wed, 17 Apr 2024 19:05:09 -0700 (PDT)
MIME-Version: 1.0
References: <CAM5tNy407R30WQqCuzFE+feRz42wkaAAGOwiHwqFoWZSpwfT0A@mail.gmail.com> <CADaq8jfpmBzqWfjEHxA2wZ=Z1=0ExwYBT7TJkyiqvOj+AQq_xA@mail.gmail.com>
In-Reply-To: <CADaq8jfpmBzqWfjEHxA2wZ=Z1=0ExwYBT7TJkyiqvOj+AQq_xA@mail.gmail.com>
From: Rick Macklem <rick.macklem@gmail.com>
Date: Wed, 17 Apr 2024 19:04:58 -0700
Message-ID: <CAM5tNy697LSS-Pg=uAE9NmDtpchn1xrC9Q8RiJ7vN88dOaWpJw@mail.gmail.com>
To: David Noveck <davenoveck@gmail.com>
Cc: NFSv4 <nfsv4@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/0gLGDJQvV_r-UulWlEY2z_wh9nE>
Subject: Re: [nfsv4] RFC: New DelegReturn_NoFH operation for NFSv4.2?
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Apr 2024 02:05:14 -0000
On Mon, Apr 15, 2024 at 4:06 PM David Noveck <davenoveck@gmail.com> wrote: > > > > On Mon, Apr 15, 2024, 6:31 PM Rick Macklem <rick.macklem@gmail.com> wrote: >> >> Hi, >> >> I am wondering if others have found this a pita and are interested in >> a new operation for NFSv4.2 to get around it. >> >> Right now DelegReturn requires a CFH and delegation stateid. >> I do not know why the CFH is needed, > > > I don't think it is needed, although it is REQUIRED. > >> since it seems that the >> delegation stateid should be sufficient? > > > It should be. As far as I can figure, it is most likely due either to inertia or a belt-and-suspenders approach to operation input. > >> >> This new operation would be the same as DelegReturn except that >> it would not require a CFH argument. > > > It would be more correct to say it does not use the cfh as input. > >> >> Why am I interested in this? >> - Lets assume a NFSv4.2 server that supports persistent FHs and >> multiple hard links (as most extant servers do). >> - A client mounted to this server is removing a file for which it holds >> a write delegation and a bunch of dirty data. >> Right now, the client must: >> - Write the dirty data back to the server. >> - DelegReturn >> - Remove >> because the client has no way of knowing if the file will be deleted >> by the Remove (or alternately is just removing one of several hard links). >> >> With a DelegReturn_NoFH, the client could: >> - Do a compound RPC with >> Remove >> PutFH of file >> - if the above returns NFS_OK, the file still exists and the client >> can continue to use the delegation, writing the dirty data back >> to the server sometime later (or maybe never, if the file gets >> deleted by a subsequent Remove). >> or >> - If the above returns NFS4ERR_STALE for the PutFH, the file >> has been deleted. It can throw the dirty data away and >> DelegReturn_NoFH the delegation. >> >> A similar situation exists for Rename where the destination >> already exists. >> >> I find this scenario happens frequently during software builds. > > > I see that this can happen. I'm not sure about "frequently". I did a FreeBSD kernel build with both source and obj trees NFSv4.2 mounted. Here were the RPC counts: Open/Create Open/NoCreate Remove Rename 30083 9645 27741 17254 --> So, there were more Removes+Renames than Opens. I have no way of knowing for sure, but most all of the files removed/renamed should have had delegations. (They would all be on the output obj side.) Of course these RPC counts are dwarfed by: Getattr Lookup 1225717 485257 So, I guess it depends on what you consider as frequent? rick > >> >> So, what do others think w.r.t. this new operation? rick > > > I think you have made a reasonable case for this. I suggest you submit an I-D defining thus extension. One issue you would need to address would be providing a way for the client to determine if server support is present. > > > >> >> _______________________________________________ >> nfsv4 mailing list >> nfsv4@ietf.org >> https://www.ietf.org/mailman/listinfo/nfsv4
- [nfsv4] RFC: New DelegReturn_NoFH operation for N… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… David Noveck
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Trond Myklebust
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… David Noveck
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Trond Myklebust
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… David Noveck
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Trond Myklebust
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Trond Myklebust
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Trond Myklebust
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Trond Myklebust
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Thomas Haynes
- [nfsv4] RFC: New DelegReturn_NoFH operation for N… David Noveck
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem
- Re: [nfsv4] RFC: New DelegReturn_NoFH operation f… Rick Macklem