Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp3223106rdh; Mon, 27 Nov 2023 08:57:51 -0800 (PST) X-Google-Smtp-Source: AGHT+IE05xWiAlGlhnMV0G5j+iA+/0mvLu4K0SJ2Flt1fvse449feAxO7fcLpXjceJCC6Ma2PxsC X-Received: by 2002:a05:6830:b8e:b0:6d8:1239:3cb8 with SMTP id a14-20020a0568300b8e00b006d812393cb8mr8296865otv.30.1701104271711; Mon, 27 Nov 2023 08:57:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701104271; cv=none; d=google.com; s=arc-20160816; b=c4/g8928hRoHdfwMkxnncT8fRF5XVZ34My9upa8iOT8wbuHXR66sTDJ8E/h9voBdhw vKcA45hLaaTtzTmt0usLbM1zk30yofMjDQ4Z4sgJHRRZiM79nucIH3aRJsMmEqOjyNKb ZvEkfbmTuJPB8lX6u97rnB8glSg8DkeS0W30SJbujmUDwtBjV5VafhzGRI9UK1AEAETM B45ZZPZ+wfCBqDE/tzsgW13ZjEyicu6Jre8muFAFdVR7xBaZdBdzx2ULFHvdR/demFUg UZ0T3DDDz/7yjKMmNeb2bpfTWOHf5/dseSixHO0j3nR+ScoKBeueJbYXpTijXiGLaZ7I a2Eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=AnrdgModvNhiQ3zIyb1Exs8CkWoTS+MrYD+Gax8jmV4=; fh=F5Lg7xofaG18AmV7191EpKWLswL56QYCegdcSTDi/Y8=; b=iH30xpTRy5N8u5O5JPl3nTFTZ0bKoX2tu7fLIYyxrUFnkSOyjre3ez2ANXSle64VQ8 OgPfLEgPS+3+vfowSk5gx6GRfuK5a+zYLp0mgUfhc2t9gOGu0PR5Wcgyg2wXgC5holzf 1AUYbgQu1d2UGMbS/0blL98pjW4h+rApSI2kSgf+8EkxSgTaOcO18LbaNeltBjSGM0WP dwmpg3BXMYdntvwU8P32Ei9p77myWN0PXn190Y6zrQcpRfdsDx58yNIdbqNuahwjRSym 3fAYoqY6Ns1QVJuxi03q+YPrTibLEG6NUAtcRm0wQAXXo/uBCtgyU//QFlfqJGesHHqY ULZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20210309 header.b=uQD2W7lS; spf=pass (google.com: domain of linux-nfs+bounces-102-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-nfs+bounces-102-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id iy14-20020a0562140f6e00b0067a2b1fa965si5359203qvb.510.2023.11.27.08.57.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 08:57:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs+bounces-102-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20210309 header.b=uQD2W7lS; spf=pass (google.com: domain of linux-nfs+bounces-102-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-nfs+bounces-102-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 76DF01C20BC3 for ; Mon, 27 Nov 2023 16:57:51 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2DE153EA7E; Mon, 27 Nov 2023 16:55:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="uQD2W7lS" X-Original-To: linux-nfs@vger.kernel.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3A57B269F for ; Mon, 27 Nov 2023 08:55:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=AnrdgModvNhiQ3zIyb1Exs8CkWoTS+MrYD+Gax8jmV4=; b=uQD2W7lSdlCKO4xgqo/pyBgtwX CypktXprxjyhURXoF+HdnTHtDZoRnw1x96xTc7oF9o5rW3Lf28bBgYgVZAx7N6GxY/ykU4AfKV5kn XT6Yy6GF1G+g1DQql69WB1bI8N/IwVAVh+INVVVhx5WazU+y0Hnel7n5niBPFfJddEY2YKKKtb1Kx OjMwb5EdSlyhiz2IAYaOBXyqWx2T2EYqN8lvJxQCiFml2f71MMbTGCy7X7iyWs988Snb57KBh8Qj3 TObWxWwyGtT6xIKZopWAaYMdRcw3P6lpousdV2YLL6I9PWDFUL3MnUcguB6Nz1CP3Y+UAnJa0kolO FboEIavQ==; Received: from hch by bombadil.infradead.org with local (Exim 4.96 #2 (Red Hat Linux)) id 1r7etT-0033gb-2Q; Mon, 27 Nov 2023 16:55:35 +0000 Date: Mon, 27 Nov 2023 08:55:35 -0800 From: Christoph Hellwig To: Chuck Lever III Cc: Christoph Hellwig , Tao Lyu , Trond Myklebust , Linux NFS Mailing List Subject: Re: Question about O_APPEND | O_DIRECT Message-ID: References: <2d948b43fa625952e50589e4bedf9551df7ee112.camel@hammerspace.com> <7d2d17e4d3904d29b75fadcfd916b2a3@epfl.ch> <7E2914D2-B9AB-4280-9A44-875DA8B58328@oracle.com> Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7E2914D2-B9AB-4280-9A44-875DA8B58328@oracle.com> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html On Mon, Nov 27, 2023 at 04:50:56PM +0000, Chuck Lever III wrote: > > Btw, I think an APPEND operation in NFS would be a very good idea, and > > I'd love to work with interested parties in the IETF on it. > > You can write and submit a personal draft that describes it; it > wouldn't need to be more than a few pages. The hard part of that > would be accumulating use case descriptions. > > I think you could create a proof of concept by including a VERIFY > operation in front of the WRITE to ensure the WRITE occurs only > if the offset argument in the WRITE agrees with the file's size > on the server. If the VERIFY fails, the client grabs the updated > file size and tries again. That seems like exactly the wrong idea around. The idea behind append based models for write out of place storage is that you do not care where it is written - you leave it to the server or storage device to place it at the current append point. You just need to know where it got placed after the fact for some of them (not for simply logs, though).