Received: by 2002:a05:7412:cfc7:b0:fc:a2b0:25d7 with SMTP id by7csp666300rdb; Sun, 18 Feb 2024 06:21:37 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUDLulL/0WdPyw/K5gS7Ff4Yar6njxGFudzhzyW/CmewXALypXb6PYGUxqG8TL/euZAgquLJ5Cn8EyAk4RfsYkRh3PMtXGQbae+gV7OWw== X-Google-Smtp-Source: AGHT+IEz0EsuzuGbcv7ID5goPUwwTA6UsOXcjKT1miqbLD6E1QyD01XuNH7IvVX6GppM+zo1GFta X-Received: by 2002:a17:90a:2d8b:b0:299:147f:e915 with SMTP id p11-20020a17090a2d8b00b00299147fe915mr7647577pjd.9.1708266097574; Sun, 18 Feb 2024 06:21:37 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708266097; cv=pass; d=google.com; s=arc-20160816; b=LAOCDIFielT/ThPJXakVmsJFo4L9xUGNCOitaG2d0MugVgDFc26xb0kUA3hdYDm18F kX9VO6CVDG61dxYLbLkyEFlGNguNcFmSBwql2rvrnoeWGn4nwm82kw1KViWB6ro41qLF wXOA1Jev89CO9DxjhC61trjmNSdaxSPcGg05XHwHMiqongux7+4iU+m2CzZFqSkxEhjh Hrk3vZnbUi1tt7gIuNUZzT/me6kOuAKVZLj7WKjkQiX/jYJ2Jo0k5DI/5l4LlAf0/txs duTEFiPd85i7LMue3anvpyreqnhirt5i3llHsxUAuxztuG+XErXuzDJgsd+mhuJ70zD7 nkSA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:content-transfer-encoding:autocrypt:references :in-reply-to:date:cc:to:from:subject:message-id:dkim-signature; bh=jukRl0eEaMIWy9rjka3Tia89L3JiwirBIALKFV2eQyM=; fh=7CaIChataErS41XCO9oBrmkmjAUgs77rVvn0VCJAw28=; b=k2qcWJdYoY6kw2U32GjptKsfYEstbd2ycSMVawAL4LthGbMZeTnI/oyC4t2dZ7EtuN UdDVG2DFrn7gxFhxv1z5mddUxulOIRrRHdX5UmW+w7uOgFowsHyOY8/LcKYZ4YJdssG6 JOeR5AfQXjCzV3ZjwWGjMfwmeZ6Gt783n1rQ4mkWhPGScUmZdIEjF76Nqnn9BApofI8M 1MIjPcYamLxxosOyQC4o7fvdy0ih4C8lDqAMmQVbBAYlK+JOYtK6yP46kR2mwbdhFn/i CGxp9vCRw3Ka5DDDKNMp0hYP+rJsKTExRczJgbTB31M8hOnrkfR6V3HzRITQt+EzQDxG 7ytQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=M7qKdBXc; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-nfs+bounces-2015-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-2015-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id d127-20020a633685000000b005d48e659692si2895166pga.753.2024.02.18.06.21.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Feb 2024 06:21:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs+bounces-2015-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=M7qKdBXc; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-nfs+bounces-2015-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-2015-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 1DCAF2818C6 for ; Sun, 18 Feb 2024 14:21:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 99FB66BB58; Sun, 18 Feb 2024 14:21:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="M7qKdBXc" X-Original-To: linux-nfs@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B2491E867 for ; Sun, 18 Feb 2024 14:21:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708266095; cv=none; b=B2qIk124TBoXaKLpI+jDbDRmgQcbsGXKDNDdfbBAXEqDby0zAgMr6yKwcS8i7FDmrEvadhrfx5yOMtSB1zqB7tNuvrLzd6Y7cOHc6D8/foiEBLg76bKWtESeCtkNsWMs/xPN2l8KUwzC2eVcAHTyxJsQliOU23nby9DPFHg1mw0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708266095; c=relaxed/simple; bh=jukRl0eEaMIWy9rjka3Tia89L3JiwirBIALKFV2eQyM=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=FwhSosY26sN9AWb4+8nU3XpuuHBYlp2DSiJxFj2pVuWk/XTUtMUQMD9zj1HqBzlJnIAfrD3PgIWd0e7yv2QAa7d2Q5QrUYLxXrD2wp6GRU/VkosoILPRxkqSq+J2c5bq7E3dOb63tIj79IPAUr7PSBJcENdeCcqOzAgdVU8rhgg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=M7qKdBXc; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FCB7C433C7; Sun, 18 Feb 2024 14:21:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708266094; bh=jukRl0eEaMIWy9rjka3Tia89L3JiwirBIALKFV2eQyM=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=M7qKdBXcKisbaKJd+WWFMas07FLMQlc3nXDbN3LHVqBvPeT2M55IpM5jz5UcLvzlk 2NWUBQ4VM6YyqbBb8A5xcigFRYlFou3Zt8A3pJST027EaV4N+Ellc4kgvYO6QSGcJx Rpk4eK+HNMwRkvax5Ge1z5Ieo95Cz4bWKjeQz1OygEuvTvm8hliZeI1aDousxcDhhG wRbGf5i7DrkUN2Sj7fhxmrrolGRoPE3DM6vD0NVTCF9gGrowbJvmZ14TbiyibEbC0O W6KfxSo6o93QI/kXI5q5G5v4JiQlsGcheo3YySR69lLpZn+FPctTkoJCfaTefZqxGM 2mO3YRRonXJuA== Message-ID: Subject: Re: [PATCH v2 1/2] nfsd: Fix a regression in nfsd_setattr() From: Jeff Layton To: Trond Myklebust , "chuck.lever@oracle.com" Cc: "linux-nfs@vger.kernel.org" Date: Sun, 18 Feb 2024 09:21:33 -0500 In-Reply-To: <7b51a5725d82ac9ec8f62bd664004d29a121ba43.camel@hammerspace.com> References: <20240216012451.22725-1-trondmy@kernel.org> <20240216012451.22725-2-trondmy@kernel.org> <756FABF8-FA78-4D16-A4B8-B47C4745868E@oracle.com> <5c35277cd061e16a914b94e070ea6d95a75c1342.camel@hammerspace.com> <7b51a5725d82ac9ec8f62bd664004d29a121ba43.camel@hammerspace.com> Autocrypt: addr=jlayton@kernel.org; prefer-encrypt=mutual; keydata=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 kZWuOsJdJQdmwlWC5L5ln9xgfr/4mOY38B0U= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.3 (3.50.3-1.fc39) Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 On Sat, 2024-02-17 at 18:16 +0000, Trond Myklebust wrote: > On Sat, 2024-02-17 at 12:05 -0500, Chuck Lever wrote: > > On Fri, Feb 16, 2024 at 06:57:16PM +0000, Trond Myklebust wrote: > > > On Fri, 2024-02-16 at 18:25 +0000, Chuck Lever III wrote: > > > >=20 > > > >=20 > > > > > On Feb 16, 2024, at 1:19=E2=80=AFPM, Chuck Lever III > > > > > wrote: > > > > >=20 > > > > >=20 > > > > >=20 > > > > > > On Feb 16, 2024, at 1:18=E2=80=AFPM, Trond Myklebust > > > > > > wrote: > > > > > >=20 > > > > > > On Fri, 2024-02-16 at 08:33 -0500, Chuck Lever wrote: > > > > > > > On Thu, Feb 15, 2024 at 08:24:50PM -0500, > > > > > > > trondmy@kernel.org=C2=A0wrote: > > > > > > > > From: Trond Myklebust > > > > > > > >=20 > > > > > > > > Commit bb4d53d66e4b broke the NFSv3 pre/post op > > > > > > > > attributes > > > > > > > > behaviour > > > > > > > > when doing a SETATTR rpc call by stripping out the calls > > > > > > > > to > > > > > > > > fh_fill_pre_attrs() and fh_fill_post_attrs(). > > > > > > >=20 > > > > > > > Can you give more detail about what broke? > > > > > >=20 > > > > > > Without the calls to fh_fill_pre_attrs() and > > > > > > fh_fill_post_attrs(), we > > > > > > don't store any pre/post op attributes and we can't return > > > > > > any > > > > > > such > > > > > > attributes to the NFSv3 client. > > > > >=20 > > > > > I get that. Why does that matter? > > > >=20 > > > > Or, to be a little less terse... clients rely on the pre/post > > > > op attributes around a SETATTR, I guess, but I don't see why. > > > > I'm missing some context. > > >=20 > > > =C2=A0=C2=A0 1. SETATTR is not atomic, and is not implemented as bein= g atomic > > > in > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Linux. It is perfectly possible for, s= ay, the file to get > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 truncated, but for the other attribute= changes to get dropped > > > on > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 the floor. NFSv4 communicates that inf= ormation via the > > > bitmap. > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 NFSv3 does it using the pre/post attri= butes. > > > =C2=A0=C2=A0 2. When doing a guarded SETATTR, if the server returns > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 NFS3ERR_NOT_SYNC, the client may want = to update its cached > > > ctime > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 and resend. > >=20 > > All granted, but I'm still not clear. Let me ask this a different > > way. > >=20 > > As far as I can tell, it's always been optional for an NFSv3 server > > to include pre- and post-op attributes in wcc_data. Both the > > pre_op_attr and post_op_attr XDR types start with an > > "attribute_follows" discriminator. Therefore clients cannot rely on > > receiving those attributes. > >=20 > > The patch description says that "Commit bb4d53d66e4b broke the NFSv3 > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 ^^^^^ > > pre/post op attributes ...". And I think you also used the word > > "nasty" in an earlier email. So what is broken if the server /never/ > > returns those attributes? What are the application-visible effects > > of the server behavior change in bb4d53d66e4b ? > >=20 > > I don't have a problem reverting that part of bb4d53d66e4b, but > > "broke" is doing some heavy lifting here. I want to understand why > > we need to revert. Because it seems to me the server's current NFSv3 > > SETATTR implementation is spec-compliant. As far as I can tell, > > bb4d53d66e4b might result in a little more network traffic in some > > cases, but it won't impact interoperability or outcome. > >=20 >=20 > As I said above, you broke the NFSv3 client's ability to determine > whether or not the SETATTR was a failure, success or a partial success. > That's not heavy lifting, it is a fact. >=20 > The function nfsd_setattr() uses two different calls to notify_change() > in order to perform its function. Either one of them can return an > error. Either one of them can fail, and the way that the client finds > out whether or not the operation was a partial success is by examining > the pre/post op attributes (NFSv3) or the returned bitmap (NFSv4). >=20 > The patch does not try to fix NFSv4, since AFAICS, that code has always > been broken. >=20 Ugh, yeah we can definitely do a better job there. > However, the NFSv3 code was not broken prior to bb4d53d66e4b. It was > correctly returning pre/post op attributes that reflected the > success/failure of the setattr operation. That is therefore a > regression. > Furthermore, it is a totally unnecessary regression. The whole point of > SETATTR is to change the value of the attributes of the exact same file > for which the pre/post op attributes are being retrieved. There is no > extra disk access required to retrieve those attributes, nor should > there be any other overhead other than copying them into the buffer. >=20 > > Do you mean that you want to restore the previous, more optimized, > > server behavior to return pre- and post-op attributes when they are > > available? And if so, what is the application-visible benefit? >=20 > Application correctness: the ability to see that your file got > truncated despite the RPC call returning an error. >=20 So for instance: a v3 client sends a SETATTR with a size and mode change in the same op. The size change works, but the mode change doesn't for some reason. The server returns an error, as expected, but without the pre/post op attrs, the v3 client could just assume that _nothing_ worked and not notice the size change. Alternately, I guess the client could invalidate the attrcache after any SETATTR error, but that's sub-optimal. The fix looks reasonable to me: Reviewed-by: Jeff Layton